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

1. user-z99999 67 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. пользователь 13.12.22 17:50
Сообщение было скрыто модератором.
...
5. user-z99999 67 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. пользователь 13.12.22 18:17
Сообщение было скрыто модератором.
...
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 67 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 67 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 67 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 186 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 20 22.03.23 11:27 Сейчас в теме
А в чем проблема просто добавить поле HTML документа, и в реквизит записать ссылку на картинку? Типа:
Документ = "localhost/test.jpg"
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот