Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2011, 22:59   #1
Terikon
Форумчанин
 
Регистрация: 22.02.2009
Сообщений: 174
По умолчанию Загрузка файла с сервера (Synapse)

Делаю так
Код:
  http:=thttpsend.Create;
  LoadFile:=TFileStream.Create('c:\file.exe',fmCreate);
  HttpGetBinary('http://download.geo.drweb.com/pub/drweb/cureit/vq792v6y.exe',LoadFile);
  LoadFile.Free;
  http.Free;
Файл загружается, но дело в том что он грузится в память, скажите как сделать что бы файл грузился напрямую на винт.
Terikon вне форума Ответить с цитированием
Старый 08.01.2011, 14:43   #2
FanRa3
Пользователь
 
Регистрация: 04.11.2010
Сообщений: 92
По умолчанию

Код:
var
  http:TIdHTTP;
  str:TFileStream; 
begin
  http:=TIdHTTP.Create(nil);
  ForceDirectories(ExtractFileDir('C:\Download'));
  str:=TFileStream.Create('C:\file.exe', fmCreate);
  try
    http.Get('http://download.geo.drweb.com/pub/drweb/cureit/vq792v6y.exe',str);
  finally
    http.Free;
    str.Free; 
end;
попробуй так
FanRa3 вне форума Ответить с цитированием
Старый 08.01.2011, 15:19   #3
Terikon
Форумчанин
 
Регистрация: 22.02.2009
Сообщений: 174
По умолчанию

На индейцах всё работает, только мне нужно на синапс!
Terikon вне форума Ответить с цитированием
Старый 08.01.2011, 15:30   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это почему это в память?
вы указали FileStream, он пишет в файл.
файл то проверьте после этого.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.01.2011, 15:54   #5
Terikon
Форумчанин
 
Регистрация: 22.02.2009
Сообщений: 174
По умолчанию

Я смотрю через диспетчер, если работаю через синапс то файл качается сначало в память, а после того как полностью закачается сохраняется на винт
Terikon вне форума Ответить с цитированием
Старый 11.01.2011, 09:57   #6
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

Чтоб файл писался напрямую на винт, надо его кусочками сбрасывать (не скажу как, сам не знаю). Синапс (насколько я знаю) ВСЕГДА работает только с памятью, по крайней мере в такой реализации кода как у Вас. Может и есть какие "волшебные" параметры, но я их не знаю, т.к. не требовалось
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Старый 14.09.2011, 03:32   #7
Zuzlan
Пользователь
 
Регистрация: 01.11.2007
Сообщений: 19
По умолчанию

Исходники смотреть религия не позволяет?

Нужно создать альтернативу HTTPMethod заменив FDocument аналогичным но типом TFileStream. И потом нужно убедиться что в функции ReadUnknown/ReadIdentity/ReadChunked из httpsend.pas передается тот stream который нужен. и все.

но правильнее сделать наследника от HTTPSend, добавив overload-варианты новых функций (или создать новые), что бы можно было малой кровью обновить потом компонент.
Zuzlan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка файла synapse Slimshaddy Работа с сетью в Delphi 3 30.07.2013 01:27
Загрузка кода с другого сервера Форсировка JavaScript, Ajax 2 18.11.2010 11:26
Проблема такова: язык:Delphi7; сохранения файла; загрузка файла в String Grid lightdevil Общие вопросы Delphi 3 06.03.2009 23:10
Загрузка файлов с сервера Axxel Общие вопросы по Java, Java SE, Kotlin 4 22.11.2007 10:51
загрузка в форму страницы с сервера... fis Работа с сетью в Delphi 1 30.01.2007 18:46