![]() |
|
Получить изображения по HTTP | ☑ | ||
---|---|---|---|---|
0
Повелитель
15.04.12
✎
10:59
|
Есть картинка:
http://2010.mir-otkrytok.com/new/images/0-02-110%20A.jpg Нужно ее себе сохранить. Пишу: ipадрес = "2010.mir-otkrytok.com"; мСоединение = Новый HTTPСоединение(ipадрес); Попытка мСоединение.Получить("new/images/0-02-110%20A.jpg","C:\111.jpg"); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; |
|||
1
aleks-id
15.04.12
✎
11:12
|
хвастаешь?
|
|||
2
Повелитель
15.04.12
✎
11:13
|
(1) Прошу прощения, кусов не вставил. Не получается так. Не знаю почему не работает.
Подскажите что не так делаю? |
|||
3
Wobland
15.04.12
✎
11:15
|
(0) вот так делал я. обработка ЗагрузкаКартинкиПоСсылке
Процедура КнопкаВыполнитьНажатие(Кнопка) мАдрес=СтрЗаменить(Адрес, "http://", ""); поз=0; Для й=0 По СтрДлина(мАдрес) Цикл Если Сред(мАдрес, й, 1)="/" Тогда поз=й; КонецЕсли; КонецЦикла; ИмяФайлаТам=Сред(мАдрес, поз+1); Ресурс=Лев(мАдрес, Найти(мАдрес, "/")-1); мАдрес=Сред(мАдрес, Найти(мАдрес, "/")+1); Попытка Если Константы.ИспользоватьПрокси.Получить() Тогда Прокси=Новый ИнтернетПрокси; Прокси.Пользователь=Константы.ЛогинПрокси.Получить(); Прокси.Пароль=Константы.ПарольПрокси.Получить(); http=Новый HTTPСоединение(Ресурс, , , , Прокси); Иначе http=Новый HTTPСоединение(Ресурс); КонецЕсли; Исключение Предупреждение("Ошибка соединения"+Символы.ПС+ОписаниеОшибки()); Возврат; КонецПопытки; ИмяФайлаТут=ПолучитьИмяВременногоФайла("jpg"); Попытка http.Получить(мАдрес, ИмяФайлаТут); Исключение Предупреждение("Ошибка получения файла"+Символы.ПС+ОписаниеОшибки()); КонецПопытки; ф=Новый Файл(ИмяФайлаТут); ВыбраннаяКартинка=Новый Картинка(ИмяФайлаТут); спр=Справочники.Картинки.СоздатьЭлемент(); спр.Наименование=ПолучитьУникальноеНаименование(Лев(ИмяФайлаТам, СтрДлина(ИмяФайлаТам)-4)); спр.Родитель=Справочники.Картинки.ИзИнтернета; спр.Комментарий=Адрес; спр.Картинка=Новый ХранилищеЗначения(ВыбраннаяКартинка); спр.Записать(); КонецПроцедуры |
|||
4
Ахиллес
15.04.12
✎
11:21
|
(2) Нахрен ты в обработке написал Сообщить(ОписаниеОшибки()); ?
|
|||
5
Wobland
15.04.12
✎
11:22
|
(4) чо? всю жизнь так делал, что я пропустил?
|
|||
6
Повелитель
15.04.12
✎
11:23
|
(3) Спасибо подставил в процедуру свой значения, заработало.
|
|||
7
Wobland
15.04.12
✎
11:26
|
(6) на здоровье. вспомнил по ходу, что в этом месте получилось создать пустой функциональный цикл в 1С
Функция ПолучитьУникальноеНаименование(Наим) спр=Справочники.Картинки.НайтиПоНаименованию(Наим); Если спр.Пустая() Тогда Возврат Наим; КонецЕсли; ПолучитьНовоеНаименование(Наим); Пока НЕ Справочники.Картинки.НайтиПоНаименованию(ПолучитьНовоеНаименование(Наим)).Пустая() Цикл КонецЦикла; Возврат НовоеНаименование; КонецФункции |
|||
8
Повелитель
15.04.12
✎
11:26
|
(6) Теперь и мой код заработал, че за глюк был я не понял.
Всем спасибо, тему можно закрывать. |
|||
9
Повелитель
15.04.12
✎
11:27
|
(7) Спасибо.
|
|||
10
Wobland
15.04.12
✎
11:27
|
(8) мСоединение = Новый HTTPСоединение(ipадрес); у тебя без проверки был как минимум
|
|||
11
Ахиллес
15.04.12
✎
11:31
|
(5) Это, я к тому, что 1С ведь ему не написала в сообщении "Не знаю почему не работает."
Если сообщение об ошибке есть, то мог бы и сюда его написать. |
|||
12
Wobland
15.04.12
✎
11:32
|
(11) ну это же миста - форум телепатов ;)
|
|||
13
Повелитель
15.04.12
✎
11:40
|
(11) Поправлю.
|
|||
14
Torquader
15.04.12
✎
13:09
|
Картинки-картинками, но нужно не забывать про поле Referrer - некоторые сервера без этого поля вместо картинки выдают html-страницу, со вставленной в неё картинкой.
Так что надо проверять в ответе тип содержимого в заголовке. Кроме того, один раз загрузив картинку мы инициализируем cache, а в следующий раз картинка уже грузится из него, и никто referrer не проверяет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |