Форум: "Сети";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
ВнизКак до закачки файла из сети, определить его размер Найти похожие ветки
← →
Volf_555 (2005-11-05 20:53) [0]Суть в следующем - до того момента мне необходимо определить размер входящего файла. Следующий код это делает, но не совсем:
procedure TForm1.RecFileCMSG(Sender: TComponent; const sFrom: String;
strm: TStream);
var
fs:TFileStream;
begin
Memo1.Lines.Add("Входящий файл: "+sFrom);
SD1.FileName:=sFrom;
label4.Caption:=IntToStr(strm.Size);
if SD1.Execute then
begin
edit3.Text:=sFrom;
fs:=TFileStream.Create(sd1.FileName{+sFrom}, fmCreate);
Gauge1.MaxValue:=Strm.Size;
Gauge1.Progress:=Strm.Position;
fs.CopyFrom(Strm,Strm.Size);
fs.Free;
end;
end;
Проблема заключается в том, что показывается сразу полный размер входящего файла. Если файл имеет размер более 30 мегабайт, то похоже что комп зависает, хотя на самом деле не так, так как идёт определение размера входящего файла. Как мне сделать в своей программе показывание промежуточных результатов размера входящего файла, как в программе Download+?
← →
Volf_555 (2005-11-08 19:16) [1]Может всё-таки кто-то знает как такое осуществить?
← →
umbra © (2005-11-09 10:32) [2]может это можно сделать не своим стримом а командой серверу, чтобы он выдал список файлов с размерами?
← →
Чапаев © (2005-11-09 11:00) [3]Смотри в сторону метода HTTP HEAD. (Если я правильно понял задачу)
← →
Volf_555 (2005-11-10 00:54) [4]umbra © (09.11.05 10:32) [2]
Кстати, я делал так, чтобы сразу присылался размер файла, а потом уже загрузка шла - но ничего не выходит. По-прежнему продолжает автоматом проверять размер...
Чапаев © (09.11.05 11:00) [3]
В смысле по пришедшему заголовку извлечь из него размер файла?
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.088 c