![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Копирование файлов с HTTP ресурса
zdm77 © (2008-07-17 13:52:00)Добрый день.
Есть файл на http ресурсе, допустим http://www.qqq.qqq/1.txt, проверкой в браузере, все в порядке, доступ есть, предлогает сохранить...
Как средствами Delphi, если это возможно произвести копирование с http на локальный ресурс?
Спасибо.
Rouse_ (2008-07-17 17:30:00) [21]Я для таких целей обычно использую что-то наподобие вот этого кода: http://rouse.drkb.ru/network.php#proxyload
Поросенок Винни-Пух (2008-07-17 17:10:00) [22]Только файл, а не уже существующую папку c:\1
Поросенок Винни-Пух (2008-07-17 16:49:00) [23]если не скачивается значит не скачивается
До скачивания тебе еще далеко.
Файл сначала создай.
Поросенок Винни-Пух (2008-07-17 16:47:00) [24]если доступ есть, а файл не создается, то иногда помогает более сильное и резкое нажатие на button1 под которой код создания файла.
на сотый раз обычно помогает стопроцентоно.
zdm77 (2008-07-17 16:47:00) [25]
> Поросенок Винни-Пух © (17.07.08 16:44) [11]
> обман зрения. доступ у тебя есть же.
Если тебе не сложно, напиши кодик скачивания через Indy любого файла через HTTP и приведи пожалуйста и тогда все станет ясно и не будем гнать пургу..если не скачивается значит не скачивается, я пишу что отвечает ОС и среда разработки... ну чо издеваться то?
Поросенок Винни-Пух (2008-07-17 16:44:00) [26]обман зрения. доступ у тебя есть же.
zdm77 (2008-07-17 16:43:00) [27]
> Поросенок Винни-Пух © (17.07.08 16:41) [9]
ну не скачивается, выдается сообщение что не может создать файл по пути "c:\1" .. да и любой другой тоже самое...
Поросенок Винни-Пух (2008-07-17 16:41:00) [28]ну тогда у тебя все ок. доступ есть и файл скачивается.
поздравляю.
zdm77 (2008-07-17 16:39:00) [29]дык это локальный ресурс... путь C:\1 существует и на него к нему я имею полный доступ..что-то в коде не так... приведите пожалуйста пример, без всяких потоков и прочего, с этим я разберусь потом, просто скопировать с ресурса http на локальный ресурс. Спасибо
Поросенок Винни-Пух (2008-07-17 16:31:00) [30]что значит что нет доступа?
доступа нет значит.
zdm77 (2008-07-17 16:30:00) [31]я запутался..и не могу растормозиться.. если Вам не сложно, просто приведите пример кода полностью... я попробовал вот так
//процесс (TThread созданый)
procedure TDownLoader.Execute;
var
http:TIdHTTP;
str:TFileStream;
begin
//Создим класс для закачки
http:=TIdHTTP.Create(nil);
//Поток для сохранения
str:=TFileStream.Create(ToFolder, fmCreate); //вот сдесь ошибка (что значит что нет доступа? или просто я действительно встал в ступор...просто прошу помощи, код для вызова этого процесса дальше)
try
//Качаем
http.Get( url,str);
finally
//чистим
http.Free;
str.Free;
end;
//код для вызова из формы
procedure TFormCountrys.ToolButtonImportClick(Sender: TObject);
var d:TDownLoader;
begin
//Создадим класс потока.
//Поток для начала будет остановлен
d:=TDownLoader.Create(true);
//Передадим параметры потоку
d.URL:=' http://www.qqq.qqq/1.txt';
d.ToFolder:='c:\1';
//Поток должен удалить себя по завершению своей работы
d.FreeOnTerminate:=true;
//И запустим его на закачку.
d.Resume;
end;
Поросенок Винни-Пух (2008-07-17 16:18:00) [32]idhttp1.get(' http://www.qqq.qqq/1.txt',MyFileStream);
zdm77 (2008-07-17 16:13:00) [33]
> Palladin ©
Пишет что не может создать путь, при попытке создания процесса... с процессами и "прогрессами" разберусь. В INDY всегда свои заморочки. Если Вам не сложно или кому-то еще приведите пожалуйста пример простого кода копирования с http.
Спасибо.
Palladin (2008-07-17 14:10:00) [34]в конкретно твоем случае: idhttp, другие случаи нужно рассматривать отдельно. например по поводу https, могу однозначно сказать, что лучше и проще использовать WinInet
zdm77 (2008-07-17 14:07:00) [35]
> Palladin © (17.07.08 13:53) [1]
Пока искал про idhttp наткнулся на использование-Wininet.. Как Ваше мнение как мастера, что лучше?
Palladin (2008-07-17 13:53:00) [36]idhttp