|
Картинка и поле HTML | ☑ | ||
---|---|---|---|---|
0
Taliesien
29.03.18
✎
15:39
|
Добрый день, коллеги.
Встала проблема выводить jpegи на управляемую форму в тонком клиенте. Интересует вывод в поле HTML, так как файлов может быть много, и заранее не известно сколько их будет. Так вот, создавать временные файлы не хотелось бы, потому что я ленив, а их потом ещё и удалять надо будет. Пытался вставлять навигационную ссылку и адрес временного хранилища, но не работает. Гугление показало что у всех прекрасно работает ВременноеХранилище. Сделал набросок используемого кода. Подскажите в чем моя ошибка. &НаКлиенте Процедура Получить(Команда) ДанныеФайла = ПолучитьДанныеФайла (файл, УникальныйИдентификатор); АдресВременногоХранилища = ДанныеФайла.АдресВременногоХранилища; НавигационнаяСсылка = ДанныеФайла.НавигационнаяСсылка; ИмяВременногоФайла = ПолучитьИмяВременногоФайла(ДанныеФайла.Расширение); ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); ДвоичныеДанные.Записать(ИмяВременногоФайла); КартинкаТэг = "<img src="""+ АдресВременногоХранилища +"""></img>"; ПолеХТМЛ = "<html> | <body> | " + КартинкаТэг + " | </body> |</html> "; КартинкаТэг2 = "<img src="""+ НавигационнаяСсылка +"""></img>"; ПолеХТМЛ2 = "<html> | <body> | " + КартинкаТэг2 + " | </body> |</html> "; КартинкаТэг3 = "<img src="""+ ИмяВременногоФайла +"""></img>"; ПолеХТМЛ3 = "<html> | <body> | " + КартинкаТэг3 + " | </body> |</html> "; КонецПроцедуры &НаСервереБезКонтекста Функция ПолучитьДанныеФайла (файл, УникальныйИдентификатор) ДанныеКартинки = Новый Структура; ДанныеКартинки.Вставить("АдресВременногоХранилища", ""); ДанныеКартинки.Вставить("АдресВременногоХранилищаКартинки", ""); ДанныеКартинки.Вставить("НавигационнаяСсылка", ""); ДанныеКартинки.Вставить("Расширение", ""); Запрос = Новый Запрос; Запрос.Текст = "..."; Запрос.УстановитьПараметр("Ссылка", Файл); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); ВыборкаДетальныеЗаписи.Следующий(); Если ВыборкаДетальныеЗаписи.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда ДвоичныеДанные = ВыборкаДетальныеЗаписи.ХранимыйФайл.Получить(); ИначеЕсли ВыборкаДетальныеЗаписи.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда ДвоичныеДанные = ""; //на перспективу КонецЕсли; //ФайлОбъект = Файл.ПолучитьОбъект(); //ФайлОбъект.ПредставлениеФайлаJPG.Очистить(); //НоваяСТрока = ФайлОбъект.ПредставлениеФайлаJPG.Добавить(); //НоваяСТрока.Хранилище = Новый ХранилищеЗначения(ДвоичныеДанные); //ФайлОбъект.ОбменДанными.Загрузка = Истина; //ФайлОбъект.Записать(); АдресВременногоХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные, УникальныйИдентификатор); АдресВременногоХранилищаКартинки = ПоместитьВоВременноеХранилище(Новый Картинка(ДвоичныеДанные), УникальныйИдентификатор); НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Файл, "ПредставлениеФайлаJPG.Хранилище", 0); ДанныеКартинки.АдресВременногоХранилища = АдресВременногоХранилища; ДанныеКартинки.АдресВременногоХранилищаКартинки = АдресВременногоХранилищаКартинки; ДанныеКартинки.НавигационнаяСсылка = НавигационнаяСсылка; ДанныеКартинки.Расширение = ВыборкаДетальныеЗаписи.Расширение; Возврат ДанныеКартинки; КонецФункции |
|||
1
Taliesien
30.03.18
✎
09:34
|
ап
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |