ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|
Вопрос по Delphi скачать файл по HTTP |

11.03.2010, 15:45
|
|
Banned
Регистрация: 01.04.2009
Сообщений: 16
Провел на форуме: 479094
Репутация:
7
|
|
Вопрос по Delphi скачать файл по HTTP
Как скачать файл по HTTP
|
|
|

11.03.2010, 21:01
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
Провел на форуме: 828081
Репутация:
84
|
|
Что то типа:
Код:
var
stream : TMemoryStream;
http : TIdHTTP;
begin
http := TIdHTTP.Create;
stream := TMemoryStream.Create;
try
http.get('somesite.com/somefile', stream);
stream.SaveToFile('MyFile');
finally
FreeAndNil(http);
FreeAndNil(stream);
end;
end;
ЗЫ По моему самый часто задаваемый вопрос
Последний раз редактировалось GhostOnline; 11.03.2010 в 21:05..
|
|
|

11.03.2010, 21:12
|
|
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме: 500264
Репутация:
69
|
|
Код:
var
HTTP : TidHTTP;
Strm : TMemoryStream;
begin
Http := TIdHTTP.Create(nil);
strm := TMemoryStream.Create;
HTTP.Request.CustomHeaders.Add('Range: bytes=0-12954');
HTTP.Get('http://vk.com/u21312312/audio/ff75373434gf4.mp3', strm);
strm.SaveToFile
strm.free;
http.free;
так ты закачаешь по диапозону... можешь юзать для докачки или для закачки файла по частям... главное юзай АСИнхронную передачу))
end;
|
|
|

11.03.2010, 22:03
|
|
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме: 1819761
Репутация:
180
|
|
Сообщение от RedFern.89
главное юзай АСИнхронную передачу))
Асинхронная передача через TIdHTTP
это как?
|
|
|

11.03.2010, 23:08
|
|
Постоянный
Регистрация: 12.07.2006
Сообщений: 327
Провел на форуме: 1654818
Репутация:
117
|
|
Код:
uses urlmon;
URLDownloadToFile (nil,'https://forum.antichat.ru/thread185851.html','C:/yo.html', 0, nil);
|
|
|

12.03.2010, 01:47
|
|
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме: 500264
Репутация:
69
|
|
Запихай в поток  а то при загрузке будет интерфейс виснуть  особенно при загрузке жирных файлов 
|
|
|

18.04.2010, 20:30
|
|
Новичок
Регистрация: 07.04.2007
Сообщений: 27
Провел на форуме: 338084
Репутация:
-8
|
|
а как быть с русскими именами файлов, название кракозябрами получается
|
|
|

18.04.2010, 20:31
|
|
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
Провел на форуме: 500264
Репутация:
69
|
|
используй URLEncode)))
|
|
|

18.04.2010, 21:16
|
|
Познающий
Регистрация: 25.10.2009
Сообщений: 97
Провел на форуме: 604635
Репутация:
15
|
|
Почему все используют TMemoryStream?))
Не проще так
Код:
var
stream : TFileStream;
http : TIdHTTP;
begin
http := TIdHTTP.Create;
stream := TFileStream.Create('C:/sffsf.dat', fmCreate);
try
http.get('somesite.com/somefile', stream);
finally
FreeAndNil(http);
FreeAndNil(stream);
end;
Не будет тратиться время на сохранение из TMemoryStream на диск.
|
|
|

18.04.2010, 21:35
|
|
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
Провел на форуме: 1819761
Репутация:
180
|
|
Сообщение от Jingo Bo
Не будет тратиться время на сохранение из TMemoryStream на диск.
И много времени сэкономишь?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|