c первым разобрался,про второе непонятно.
там же,как я понял, циклом,до тех пор пока не дойдем до конца файла,передаём клиенту куски файла
Код:
while FileStrm.Position < LSize do
begin
LNumRead := FileStrm.Read(LBuf, Sizeof(LBuf));
if (LNumRead > 0) then begin
AThread.Connection.WriteBuffer(LBuf, LNumRead);
end;
а если я напишу
Код:
AResponseInfo.ContentStream:=TFileStream.Create('FileName',fmShareDenyNone);
то он начнёт весь файл сначала передавать,и получается опять что докачки не будет,и весь вышенаписанный код не нужен тогда
а если заменить
Код:
AThread.Connection.WriteBuffer(LBuf, LNumRead);
на
Код:
AResponseInfo.ContentStream.Write(LBuf, LNumRead);
то вылезает ошибка,кажется потому что поток вначале надо создать,а я незнаю как