Картинки из интернета

1. Mirac 12.10.08 23:29 Сейчас в теме
Вот есть такой вопрос:

Как получить картинку по URL
пол беды, если на сайте источник картинки типа
"https://infostart.ru/img/logotype5.jpg

как сделать это с картинкой типа
"https://infostart.ru/projects/2644/image.php?img=2124

тоесть когда нет явной ссылки на файл.

???
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. O-Planet 6403 13.10.08 00:19 Сейчас в теме
Файл -> Сохранить как -> HTML-файл с рисунками
3. O-Planet 6403 13.10.08 00:20 Сейчас в теме
Еще - правой кнопкой миши по картинке
4. Mirac 13.10.08 00:39 Сейчас в теме
2 O-Planet
та это то понятно )))

тут вопрос как в 1С это дело заполучить не сохраняя зарание на компе((
да и вообще сохранять не хочется.. надо просто получить и показать...
5. Mirac 13.10.08 22:17 Сейчас в теме
ниужели нету способа? ((((
6. O-Planet 6403 14.10.08 00:15 Сейчас в теме
Хм... Суть программирования - если нужно, то можно.
7. CheBurator 2725 14.10.08 00:27 Сейчас в теме
Значит, так.. слухай сюды.
1. в браузере топчешь вышеуказанную ссылку
2. получаешь в ответ рисунок - правой мышью на нем - свойства -смотришь урл рисунка...
3. соотносишь урл исходны и урл рисунка, вполне возможно что становится понятно соответствие типа
http://infostart.ru/projects/2644/image.php?img=2124 и "https://infostart.ru/picture/2124.jpg - проверяешь это на разных ссылках... если "сходится" - задача решена...
4. но запросто может быть и так, что нет прямого соответствия между исходным урлом и урлом рисунка... тогда пихаешь исходный урл, получаешь HTTP-ответ, и парсишь его на предмет поля навроде "location" - в этом поле будет адрес на который тебя "перенаправляет" скрипт...
5. подробнее не расскажу, ибо киндер дрыхнет, мне у него надо проконсультироваться... у мну аналогичная задача...
8. Mirac 14.10.08 01:22 Сейчас в теме
задачка не решена...
у меня ситуация сложнее.. вот пример рисунка...
http://ufs.com.ua/ports/images.php?Mode=ForExch&Date=2008-10-14&SizeX=400&SizeY=300&Amount=30&CharID=USD
это график.. и строится он из базы данных.. тоесть его нет как рисунка походу вообще...
а заказчик очень хочет его видеть в 1С...

может есть метод читать рисунок по принцику кода PHP? ну всмысле через тег IMG?

ЗЫ" данная ссылка отношения к проекту не имеет... просто похожий пример..."

есть второй вариант решения: парсить таблицу значений и строить график вручную...
но что то этот вариант никак не могу реализовать.. может кто научит как в окне (имено в окне, а не в печатной форме) построить график??
9. O-Planet 6403 14.10.08 01:54 Сейчас в теме
Ну, я такое сделал для себя в одной разработке. Планирую как-нибудь выложить в ВК...
10. kitt 323 14.10.08 02:24 Сейчас в теме
>>может кто научит как в окне (имено в окне, а не в печатной форме) построить график
Если штатными средствами то только в режиме совмещения формы обработки с таблицей (а в саму таблицу уже кладешь диаграмму), если не штатными - то 1с++ тебе в руки и создавай на форме какие угодно элементы управления - хоть офосовскую диаграму, хоть любой другой АктивИкс.
11. CheBurator 2725 14.10.08 20:10 Сейчас в теме
на форме позволяет рисовать какие надо графики и картинки "фотовьювер" от Маляева
12. CheBurator 2725 14.10.08 21:27 Сейчас в теме
Для автора:
> у меня ситуация сложнее.. вот пример рисунка...
[ufs.com.ua] это график.. и строится он из базы данных.. тоесть его нет как рисунка походу вообще...
может есть метод читать рисунок по принцику кода PHP? ну всмысле через тег IMG?
//
да, есть (предварительно) - см. мое вышестоящее сообщение, п.4
стукнись в выходные мне в личку - я киндера дерну, он может сумеет это вытащить...
13. CheBurator 2725 15.10.08 02:42 Сейчас в теме
попробовал втупую..
1 15.10.2008 02:39:41 Download state changed to Downloading
2 15.10.2008 02:39:41 Start new section [1]
3 15.10.2008 02:39:41 Start connection to ufs.com.ua:80 [1]
4 15.10.2008 02:39:41 Connecting to ufs.com.ua:80 [1]
5 15.10.2008 02:39:42 Connected [1]
6 15.10.2008 02:39:42 GET /ports/images.php?Mode=ForExch&Date=2008-10-14&SizeX=400&SizeY=300&Amount=30&CharID=USD HTTP/1.0
User-Agent: Download Master
Accept: */*
Referer: http://ufs.com.ua/ports/
Pragma: no-cache
Cache-Control: no-cache
Host: ufs.com.ua
7 15.10.2008 02:39:42 HTTP/1.1 200 OK
Date: Tue, 14 Oct 2008 22:38:08 GMT
Server: Apache/1.3.33 (Debian GNU/Linux) PHP/4.3.10-22
X-Powered-By: PHP/4.3.10-22
Connection: close
Content-Type: image/gif
Content-Language: ru
8 15.10.2008 02:39:42 Socket disconnected [1]
9 15.10.2008 02:39:42 Section complete [1]
10 15.10.2008 02:39:42 Download state changed to Downloaded
11 15.10.2008 02:39:42 DOWNLOAD FILE COMPLETE: I:\Downloads\images.php
12 15.10.2008 02:39:42 Start delete section [1]
13 15.10.2008 02:39:43 Section deleted [1]
14 15.10.2008 02:39:43 Downloaded file moved to I:\Downloads\images.php
15 15.10.2008 02:39:43 Updated descript.ion file: I:\Downloads\descript.ion
..
в ответ идет Content-Type: image/gif - т.е. картинка.. но пустая...
киндер уже спит...
14. kitt 323 15.10.08 10:35 Сейчас в теме
Mirac ты немного напутал. В приведенном тобой здесь примере
http://infostart.ru/projects/2644/image.php?img=2124 выдается HTML страница, а не картинка.
А вообще в 7ке есть внешняя компонента от фирмы 1с, v7Plus.dll называется. Так вот там есть объект, под названием v7httpReader, который как раз и занимается такими вещами как сохранение файлов из интернета.

Вот пример загрузки файла по произвольному урлу
Код
   Если ЗагрузитьВнешнююКомпоненту("v7plus.dll")=0 Тогда
      Предупреждение("Компонента v7plus.dll не найдена");
      Возврат;
   КонецЕсли;  
   
   HTTPСоединение = СоздатьОбъект("Addin.v7httpReader");
   
   Попытка 
      HTTPСоединение.Получить( "http://someHost.ru/someDir/2644/someScript.php?img=123456","c:\inet_img.jpg", 1);
   Исключение
      Сообщить(HTTPСоединение.СтрокаСостоянияОтвета) ;
      
   КонецПопытки ; 

Показать полностью


ну а дальше уже делай с файлом что хочешь

P.S. support из c:\inet_img.jpg знак "\" вырезало. Нехорошо.
c:\inet_img.jpg
15. Mirac 22.10.08 16:09 Сейчас в теме
2 kitt
получить картинку получается...
сделал так:

Код
Процедура ПолучитьРисунок ()
    Если ЗагрузитьВнешнююКомпоненту("v7plus.dll")=0 Тогда
      Предупреждение("Компонента v7plus.dll не найдена");
      Возврат;
   КонецЕсли;  
   
   HTTPСоединение = СоздатьОбъект("Addin.v7httpReader");
   
   Попытка 
      HTTPСоединение.Получить( "http://ufs.com.ua/ports/images.php?Mode=ForExch&Date=2008-10-22&SizeX=400&SizeY=300&Amount=300&CharID=USD","c:\img.jpg", 1);
   Исключение
      Сообщить(HTTPСоединение.СтрокаСостоянияОтвета) ;
      
   КонецПопытки ;
   
КонецПроцедуры
Показать полностью


но при попытке ею воспользоватся методом

Код
Картинка.Загрузить("c:\img.jpg"):
Показать полностью


получю ответ системы :

Общая файловая ошибка при доступе к c:\img.jpg

перепробывал с разными типами, вариантами... одно и тоже...
если беру, например, фотку - все работает...

и че делать?
16. Mirac 22.10.08 21:14 Сейчас в теме
добавлю...

прексперементировал с полученым изображением. в нем ошибка сжатия в формат JPG. Фотошоп открывать его отказывается ссылаясь на "ошибка маркера JPG"...

метод не умеет каректно делать картинки....
17. kitt 323 23.10.08 04:35 Сейчас в теме
может быть картинка все таки не корректно скачивается? попробуй скачать программно и вручную одну и туже, и сравни crc32
18. Mirac 23.10.08 22:54 Сейчас в теме
в общемто так:
эта картинка сама по себе такая... при скачивании ее с сайта она тоже не открывается фотошопом...
вот тока не мону понять в чем проблема...
ACDSee открывает ее нормально
Пеинт - тоже нормально...

после пересохранения при помосчи пеинта все нормально работает...

что посоветуете?

2 Kitt
еще одно интересно.. см. картинки
Прикрепленные файлы:
19. Mirac 23.10.08 22:57 Сейчас в теме
и еще одна
Прикрепленные файлы:
20. Mirac 23.10.08 22:58 Сейчас в теме
левая - та что работает после пересохраниния... правая - скачаная из 1С
21. Mirac 02.11.08 23:13 Сейчас в теме
может есть какой то способ сохранять такое "чудо" в виде нормальной картинки?
22. Noy 1079 04.11.08 11:24 Сейчас в теме
Компонента все нормально сохраняет.
Сайтик формирует картинку не JPG!!!!, а PNG

найди какой-нибудь консольный конвертер и конвертируй, потом уже подгружай на форму.
23. Noy 1079 04.11.08 13:30 Сейчас в теме
А еще проще:

Об=СоздатьОбъект("GFLAx.GFLAx");
ОБ.LoadBitmap("http://ufs.com.ua/ports/images.php?Mode=ForExch&Date="+СтрЗаменить(Формат(ТекущаяДата(),"ДГГГГММДД"),".","-")+"&SizeX=400&SizeY=300&Amount=300&CharID=USD");
Об.SaveFormat=4;Об.SaveBitmap(КаталогИБ()+"img.bmp");
Картинка.Загрузить(КаталогИБ()+"img.bmp");

Кстати закачивает на порядок быстрее чем Addin.v7httpReader

Не забудь установить активикс из http://www.infostart.ru/profile/1782/projects/1747/
24. kitt 323 04.11.08 16:48 Сейчас в теме
А что у тебя там справа на первой картинке 1.JPG (70kB) внизу за фигня про блокировку написана?? Я конечно не мега системщик, но такое впервый раз вижу? Может из за этого винда не дает открывать?
Оставьте свое сообщение

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