Имя: Пароль:
1C
 
Ошибка при загрузке картинки
0 Sergio447
 
24.09.23
00:19
Добрый вечер!

Пытаюсь получить картинку c диска из папки temp. Картинка на диск во временную папку сохраняется, но при попытке отобразить ее на форме получаю вот такую ошибку:

Ошибка при вызове конструктора (Картинка)
{ВнешняяОбработка.1.Форма.test.Форма(59)}:Элементы.pic.Картинка = Новый Картинка(Ответ);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
по причине:
Несоответствие типов (параметр номер '1')

Вот сам код:
ИмяВременногоФайла = ПолучитьИмяВременногоФайла("jpg");
ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Выбирать),Новый СертификатыУдостоверяющихЦентровWindows());
Соединение = Новый HTTPСоединение("klike.net",443,,,,,ЗащищенноеСоединение);
Ответ = Соединение.Получить("/uploads/posts/2021-04/1618815701_51.jpg", ИмяВременногоФайла);
Элементы.pic.Картинка = Новый Картинка(Ответ);

Что не так?
1 Смотрящий
 
24.09.23
01:07
(0) Ответ у тебя имеет тип HTTPОтвет.
Попробоуй Новый Картинка(Ответ.ПолучитьТелоКакДвоичныеДанные())
2 Sergio447
 
24.09.23
13:04
(1) при таком раскладе ошибка пропала, но ничего не отображает.
3 Donkey_hot
 
24.09.23
13:19
(2) Если УФ, то поместите двоичные данные картинки во временное хранилище, адрес присвойте реквизиту формы строкового типа, связанному с полем картинки.
4 Salimbek
 
24.09.23
13:28
(2) А зачем тебе Тело, если ты сохранил картинку в файл?
Попробуй так:
Элементы.pic.Картинка = Новый Картинка(ИмяВременногоФайла);
5 Sergio447
 
24.09.23
13:37
(3) да, спасибо уже разобрался. Нужно было присвоить объекту тип строка.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший