Открыть в ПолеHTML картинку по ссылке

1. user-z99999 63 13.12.22 17:44 Сейчас в теме
Есть ссылка, картинка с камеры:
http://127.0.0.1/test.jpg

Нужно её открыть внутри 1с, например отображать как html документ внутри 1с.

Получается только так:
ПерейтиПоНавигационнойСсылке(СсылкаНаКартинку);

Открывается за пределами 1с.

А нужно внутри 1с, в обработке смотреть на картинку.
Вознаграждение за ответ
Показать полностью
Найденные решения
11. spacecraft 13.12.22 19:04 Сейчас в теме +0.2 $m
(10) база файловая?
Попробовать обратиться не к локалхост, а по внешнему ip адресу.
Смотреть настройки брандмауэра.

Попробовать следующий код:
Соединение = Новый HTTPСоединение("localhost");
Запрос = Новый HTTPЗапрос("/test.jpg");
Ответ = Соединение.Получить(Запрос);
ДД = Ответ.ПолучитьТелоКакДвоичныеДанные();
РеквизитКартинка = ПоместитьВоВременноеХранилище(ДД, УникальныйИдентификатор);

РеквизитКартинка это строковый реквизит формы. Соответственно его нужно создать и вынести на форму, с указанием Вид "Поле картинки".
Если и так не покажет картинку, значит нет доступа к ней.
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. user1881120 13.12.22 17:50 Сейчас в теме
(1)
А нужно внутри 1с, в обработке смотреть на картинку.

Прочитать файл как ДвоичныеДанные.
Преобразовать ДвоичныеДанные в тип Картинка (на форме).
Присвоить путь к данным Картинки элементу формы.
5. user-z99999 63 13.12.22 18:08 Сейчас в теме
(3)
(2)
ошибка, Картинка = Новый ДвоичныеДанные
        СсылкаНаКартинку = "http://127.0.0.1/test.jpg";
	Картинка = Новый ДвоичныеДанные(СсылкаНаКартинку);
   	АдресВХ = ПоместитьВоВременноеХранилище(Картинка, Новый УникальныйИдентификатор);
   	ПолеHTML = "<!DO CTYPE html><ht ml><head></head><body><p><img src=" + АдресВХ + "></img></p></body></html>";
6. user1881120 13.12.22 18:17 Сейчас в теме
(5) Я не говорил, что ДвоичныеДанные надо получать по http-ссылке. Я говорил, что двоичные данные надо получать из файла.
7. spacecraft 13.12.22 18:37 Сейчас в теме
(5) если нужно именно в html, то все проще:
СсылкаНаКартинку = "http://127.0.0.1/test.jpg";
       ПолеHTML = "<!DO CTYPE html><ht ml><head></head><body><p><img src=" + СсылкаНаКартинку + "></img></p></body></html>";
8. user-z99999 63 13.12.22 18:42 Сейчас в теме
(7)
СсылкаНаКартинку = "http://127.0.0.1/test.jpg";
ПолеHTML = "";

Картинка не отображается,
Прикрепленные файлы:
9. spacecraft 13.12.22 18:43 Сейчас в теме
(8) значит нет доступа к этой картинке.

а это:
ПолеHTML = "";

серьезно?
10. user-z99999 63 13.12.22 18:51 Сейчас в теме
(9)
значит нет доступа к этой картинке.

Нет доступа из 1с.
В браузере она открывается.

ПолеHTML = ""; // не обращай внимание, это сообщение обрезалось.
11. spacecraft 13.12.22 19:04 Сейчас в теме +0.2 $m
(10) база файловая?
Попробовать обратиться не к локалхост, а по внешнему ip адресу.
Смотреть настройки брандмауэра.

Попробовать следующий код:
Соединение = Новый HTTPСоединение("localhost");
Запрос = Новый HTTPЗапрос("/test.jpg");
Ответ = Соединение.Получить(Запрос);
ДД = Ответ.ПолучитьТелоКакДвоичныеДанные();
РеквизитКартинка = ПоместитьВоВременноеХранилище(ДД, УникальныйИдентификатор);

РеквизитКартинка это строковый реквизит формы. Соответственно его нужно создать и вынести на форму, с указанием Вид "Поле картинки".
Если и так не покажет картинку, значит нет доступа к ней.
12. user-z99999 63 13.12.22 19:14 Сейчас в теме
(11)
Соединение = Новый HTTPСоединение("localhost");
Запрос = Новый HTTPЗапрос("/test.jpg");
Ответ = Соединение.Получить(Запрос);
ДД = Ответ.ПолучитьТелоКакДвоичныеДанные();
РеквизитКартинка = ПоместитьВоВременноеХранилище(ДД, УникальныйИдентификатор);

Соединение = Новый HTTPСоединение("127.0.0.1",8091); // у меня не стандартный порт
Запрос = Новый HTTPЗапрос("/test.jpg");
Ответ = Соединение.Получить(Запрос); // здесь падает, пишет unsupported protocol
ДД = Ответ.ПолучитьТелоКакДвоичныеДанные();
РеквизитКартинка = ПоместитьВоВременноеХранилище(ДД, УникальныйИдентификатор);
13. spacecraft 13.12.22 19:19 Сейчас в теме
(12)
Соединение = Новый HTTPСоединение("127.0.0.1",8091); // у меня не стандартный порт

главное самые важные сведения приберечь до самого последнего.

тогда конечно не показывало картинку. Ее по стандартному порту просто нет.
14. spacecraft 13.12.22 19:23 Сейчас в теме
(12)
Ответ = Соединение.Получить(Запрос); // здесь падает, пишет unsupported protocol

Тогда разбирайтесь с настройками веб сервера и безопасностью.
К 1С это не имеет отношение.
3. coollerinc 172 13.12.22 17:58 Сейчас в теме
Поместите картинку во временное хранилище. Сделайте реквизит формы, с типом строка. В этот реквизит поместите адрес временного хранилища. Добавьте элемент формы связянным с данным реквизитом формы. И установите вид этого элемента формы, с типом картинка. примероно так.
4. SlavaKron 13.12.22 18:08 Сейчас в теме
Попробуйте через HTTP-запрос.
15. borisko 12.03.23 19:02 Сейчас в теме
Попробуй как-нибудь так. Но тут через сохранение файла к себе на комп.
ЗащищенноеСоед = Новый ЗащищенноеСоединениеOpenSSL(); //если соединение защищенное
Соединение = Новый HTTPСоединение("127.0.0.1",8091,,,,,ЗащищенноеСоед);
Запрос = Новый HTTPЗапрос("/test.jpg");
Ответ = Соединение.ВызватьHTTPМетод("GET",Запрос,"c:\test.jpg"); //тут сохранили файл к себе
Ответ = Соединение.Получить(Запрос, "c:\test.jpg"); //или так попробовать
//далее делаете что угодно с файлом.
УдалитьФайлы("c:\test.jpg");
16. Vlan 36 13.03.23 08:04 Сейчас в теме
А физически где файл расположен на сервере? Может не ссылкой загружать, а по Каталог+Имя?
И второй вопрос: "стороннее приложение", в котором открывается картинка - это браузер или что-то иное?
17. ONLYTILT 6 22.03.23 11:27 Сейчас в теме
А в чем проблема просто добавить поле HTML документа, и в реквизит записать ссылку на картинку? Типа:
Документ = "localhost/test.jpg"
Прикрепленные файлы:
Оставьте свое сообщение
Вакансии
Программист/тестировщик
Москва
зарплата от 130 000 руб. до 150 000 руб.
Полный день

Ведущий разработчик 1С / Team lead отдела разработки 1С
Москва
зарплата от 300 000 руб. до 300 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 130 000 руб. до 150 000 руб.
Полный день