Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.18;
Скачать: 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 вся ветка

Текущий архив: 2003.09.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
3-58563
zorik
2003-08-27 13:50
2003.09.18
сайт по IB


6-58809
ALaKO
2003-07-17 11:43
2003.09.18
опять Tembeddewb


7-58952
Cidorov
2003-07-03 22:47
2003.09.18
Как добраться из Delphi 6 к портам PC


1-58742
Игорь Николаев
2003-09-07 10:17
2003.09.18
2-мерный массив


1-58761
Sniffer
2003-09-06 12:39
2003.09.18
Изминение Security Attributes файла