Установить изображение основным для карточки товара
Необходимо установить изображение из Интернета основным для карточки товара из справочника "Номенклатура". Использую Следующий код:
Файл добавляется, но при попытке его открытия мы получаем следующую ошибку(Скрин в прикрепленных файлах):
Может кто-то сможем объяснить, в чем заключается ошибка. Заранее спасибо!
АдресКартинки = "Ссылка на файл из Интернета";
Сервер = СтрЗаменить(АдресКартинки,"https://","");
Соединение=Новый HTTPСоединение(Сервер);
Запрос = Новый HTTPЗапрос(АдресКартинки);
Ответ = Соединение.Получить(Запрос);
ДвоичныеДанныеИзображения = Ответ.ПолучитьТелоКакДвоичныеДанные();
АдресХранилищаИзображения = ПоместитьВоВременноеХранилище(ДвоичныеДанныеИзображения, Новый УникальныйИдентификатор());
ПараметрыФайла = Новый Структура();
ПараметрыФайла.Вставить("ВладелецФайлов",ЭлементНоменклатура.Ссылка);
ПараметрыФайла.Вставить("Автор",ПараметрыСеанса.ТекущийПользователь);
ПараметрыФайла.Вставить("ВремяИзмененияУниверсальное",ТекущаяДата());
ПараметрыФайла.Вставить("ИмяБезРасширения",ЭлементНоменклатура.Наименование);
ПараметрыФайла.Вставить("РасширениеБезТочки","jpg");
ПараметрыФайла.Вставить("АдресФайлаВоВременномХранилище",АдресХранилищаИзображения);
ПараметрыФайла.Вставить("ТекстХранилище","");
ПрисоединеннаяНоменклатураСсылка =
РаботаСФайлами.ДобавитьФайл(ПараметрыФайла,АдресХранилищаИзображения);
ЭлементНоменклатура.ФайлКартинки = ПрисоединеннаяНоменклатураСсылка;
ПоказатьФайл добавляется, но при попытке его открытия мы получаем следующую ошибку(Скрин в прикрепленных файлах):
Может кто-то сможем объяснить, в чем заключается ошибка. Заранее спасибо!
Прикрепленные файлы:
По теме из базы знаний
- Загрузка файлов и изображений номенклатуры для 1С:Управление Торговлей 11
- Загрузка файлов/картинок/изображений/фото номенклатуры PRO (УНФ, УТ 11, ERP, Розница)
- Загрузка картинок/изображений в номенклатуру УТ 11 (Управление торговлей 11), Комплексная автоматизация 2 (КА 2) и Розница 2.3 по артикулам
- Интеграции с маркетплейсами из одного окна: Озон, ВБ, Яндекс, Сбер, Али, ЛаМода для 1С:УНФ, УТ, КА, ERP
- Как нейросеть помогла ускорить процесс загрузки 40 тысяч фотографий товаров в базу 1С
Найденные решения
(1)
Судя по всему не правильно построено HTTPСоединение.
У вас картинка на https сервере? Тогда должна быть другая инициализация соединения. К примеру такое:
Мне кажется у вас в двоичных данных не те данные, что вы ожидаете. Может пустой бинарный файл....
Судя по всему не правильно построено HTTPСоединение.
У вас картинка на https сервере? Тогда должна быть другая инициализация соединения. К примеру такое:
Соединение = Новый HTTPСоединение("maps.googleapis.com",,,,,, Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows));
Мне кажется у вас в двоичных данных не те данные, что вы ожидаете. Может пустой бинарный файл....
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Судя по всему не правильно построено HTTPСоединение.
У вас картинка на https сервере? Тогда должна быть другая инициализация соединения. К примеру такое:
Мне кажется у вас в двоичных данных не те данные, что вы ожидаете. Может пустой бинарный файл....
Судя по всему не правильно построено HTTPСоединение.
У вас картинка на https сервере? Тогда должна быть другая инициализация соединения. К примеру такое:
Соединение = Новый HTTPСоединение("maps.googleapis.com",,,,,, Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows));
Мне кажется у вас в двоичных данных не те данные, что вы ожидаете. Может пустой бинарный файл....
(5) еще иожно попробовать в файл помещать не через структуру и адрес в хранилище, а через имя файла и двоичные данные (типа ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилищаФайла))
т.е. сначала помещаете во временное хранилище, потом из него обратно дергаете двоичные данные и их уже записываете в файл
т.е. сначала помещаете во временное хранилище, потом из него обратно дергаете двоичные данные и их уже записываете в файл
(12) типа так
// сначала помещаем двоичные данные во временное хранилище
ДвоичныеДанныеИзображения = Ответ.ПолучитьТелоКакДвоичныеДанные();
АдресХранилищаИзображения = ПоместитьВоВременноеХранилище(ДвоичныеДанныеИзображения, Новый УникальныйИдентификатор());
// после чего получаем данные из временного хранилища и записываем по указанному пути на диск
ДвоичныеДанныеФайла=ПолучитьИзВременногоХранилища(АдресХранилищаИзображения );
ДвоичныеДанныеФайла.Записать(<ПолноеИмяСохраняемогоФайла>);
(15)Сейчас у меня код выглядит так:
Сервер = "static.techspot.com";
Соединение = Новый HTTPСоединение(Сервер,,,,,,Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows));
Запрос = Новый HTTPЗапрос("https://static.techspot.com/images/products/2018/loudspeakers/org/2019-02-13-product-9.jpg");
Ответ = Соединение.Получить(Запрос);
ДвоичныеДанныеИзображения = Ответ.ПолучитьТелоКакДвоичныеДанные();
АдресХранилищаИзображения = ПоместитьВоВременноеХранилище(ДвоичныеДанныеИзображения, Новый УникальныйИдентификатор());
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот