-
Идея приложения проста: некая форма, на которую драг'н'дропается картинка, после чего она отправляется на какой-нибудь фотохостинг (www.fotohost.by , например) и в буфер обмена возвращается прямой линк на нее. Прошу помощь с общим алгоритмом и упредить вопросы касательно возможных подводных камней. Особенно интересует стадия отправки картинки и получения ссылки. Все остальное сложностей не вызовет. В гугле ничего не нашел либо плохо искал. Приветствуются полезные линки и просто советы.
-
А форма-то для чего ? Исключитель для драг-дропа ? Не достаточно ли будет добавить соотв.пункт в контекстное меню, открываемое при райт-клике на файле картинки ?
-
> стадия отправки картинки и получения ссылки
Ее реализация зависит от аплоуд-интерфейса каждого конкретно рассматриваемого хост-сервиса.
-
> добавить соотв.пункт в контекстное меню, открываемое при > райт-клике на файле картинки
Разумно.
> Ее реализация зависит от аплоуд-интерфейса каждого конкретно > рассматриваемого хост-сервиса.
Я понимаю. Приведенный в качестве примера fotohost.by, на мой взгляд, один из самых простых ресурсов этого плана. Я только не представляю что именно нужно передать ресурсу со стороны приложения и как. Кстати, я уже программно скачивал страницы и файлы, а так же парсил страницы помаленьку.
-
> не представляю что именно нужно передать ресурсу со стороны > приложения и как
Установи любой более-менее приличный http-сниффер, натрави его на браузер, выполни сессию "ручного" инф.обмена с сервисом файлообменника и внимательно изучи протокол обмена, записанный сниффером - это наиболее надежный способ разобраться в происходящем на этой кухне)
-
Гм. Надо попробовать.
-
Так-с... Я перерыл кучу доков в инете, перепробовал массу различных способов, отвлекаясь при этом на сдачу сессии ;), прежде чем получил искомый результат. Прежде всего, я просмотрел с помощью Fiddler какими данными обменивается браузер с ресурсом. Это мне дало информацию о том, что картинка передается php скрипту в POST-запросе. Учитывая, что в куках ничего интересного не было, я решил, что заходить на страницу с формой необязательно, можно сразу слать картинку принимающему скрипту. Наиболее популярный, судя по результатам гугления, метод был с использованием Indy компонента idHttp. Он удобен, бесспорно, и файл легко прикрепляется, но в моем случае компонент не смог разыменовать конечный адрес из-за причудливых настроек рабочей прокси. Поэтому я неизменно получал "Host not found #11001". Вариант с TWebBrowser я отмел сразу. Остановился на либе WinInet. Долго подгонял передаваемые данные, прежде чем получил заветное "200" от /upload_file.php. Остался один нюанс. Я остановился на HttpSendRequest, где странице уходит POST. Каков должен быть мой следующий шаг, чтобы получить текст upload_file.php после отправки файла? Останется распарсить и, в общем-то, готово.
-
Все, я молодец.
|