Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
14-58910
Vinter
2003-08-28 14:44
2003.09.18
Программа съедает много памяти.


14-58847
ZeroDivide
2003-08-29 10:13
2003.09.18
Что вы думаете о ZeroDivide?


3-58569
AlexBon
2003-08-27 12:39
2003.09.18
IBQuery - как добавить поля


1-58647
Armaniak
2003-09-05 07:37
2003.09.18
Как вывести Hint`ы в отдельное поле


3-58588
Cuckoo
2003-08-26 18:40
2003.09.18
ПОМОГИТЕ НОВИЧКУ!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский