Вниз
Скачать: CL | DM;

Upload FTP несовпадения размеров исходного и полученного файлов   Найти похожие ветки 

 
DenKop ©   (2003-07-11 02:06) [0]

Заливаю файл на ftp сервер так:

const BufferSize = 1024;
var
Buffer: array[1..BufferSize] of Byte;
.............
begin
.............
FileStream:=TFileStream.Create(FileName,fmOpenRead);
try
repeat
BufferLen:=FileStream.Read(Buffer,SizeOf(Buffer));
( myFtp, @Buffer, SizeOf(Buffer)
Заливаю файл на ftp сервер так:

const BufferSize = 1024;
var
Buffer: array[1..BufferSize] of Byte;
.............
begin
.............
FileStream:=TFileStream.Create(FileName,fmOpenRead);
try
repeat
BufferLen:=FileStream.Read(Buffer,SizeOf(Buffer));
InternetWriteFile(myFtp, @Buffer, SizeOf(Buffer), BufferLen);
Application.ProcessMessages;
until FileStream.Position=FileStream.Size;
finally
FileStream.Free;
end;
end;


Исходный файл 73737 байт
На сервере получаю 74752 байт

Что я неправильно делаю?


 
DenKop ©   (2003-07-11 02:08) [1]

И ещё попутный вопрос:
при BufferSize = 1024 файл качается ~45сек.
а при BufferSize = 16 файл качается ~25сек.
Чем хорошо результат на лицо. А чем плох маленький буфер?


 
DenKop ©   (2003-07-16 00:53) [2]

Ну неужели никто не знает ответа на такой примитивный вопрос??


 
nikkie ©   (2003-07-16 02:22) [3]

>Исходный файл 73737 байт
>На сервере получаю 74752 байт
Похоже на то, что файл посылается в текстовой моде. В InetAPI не разбирался, поэтому не могу навскидку сказать, где бы это можно было изменить. В любом случае хорошо бы помотреть лог фтп-сессии (скажем, сделать свой прокси на IdMappedPort)


 
DenKop ©   (2003-07-16 14:53) [4]


> Похоже на то, что файл посылается в текстовой моде.


Не совсем так.
myFtp := FtpOpenFile(
hInt,
PChar(ExtractFileName(FileName)),
GENERIC_WRITE,
FTP_TRANSFER_TYPE_BINARY,
0);


 
Verg ©   (2003-07-16 16:52) [5]

InternetWriteFile(myFtp, @Buffer, SizeOf(Buffer), BufferLen);

Дай угадаю:

var BytesWritten : integer;
...

InternetWriteFile(myFtp, @Buffer, BufferLen, BytesWritten);



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
14-58840
Knight
2003-08-30 14:45
2003.09.18
Принимаю поздравления


14-58835
Knight
2003-08-31 22:57
2003.09.18
Помогите квест пройти...


1-58744
Dlin
2003-09-06 18:58
2003.09.18
Без формы


1-58616
wildcow
2003-09-05 15:56
2003.09.18
PopUpMenu в RunTime


3-58522
asd
2003-08-27 18:55
2003.09.18
Вставка записей в таблицу InterBase




   Наверх