Главная страница
    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.45 MB
Время: 0.01 c
6-58823
Дрын
2003-07-18 08:34
2003.09.18
Работа с файлами по локальной сети


9-58509
com2003
2003-03-17 18:07
2003.09.18
Работа с цветом


3-58516
Nucl
2003-08-28 16:35
2003.09.18
OleDB for mssql


14-58904
Некрофил - затейник__(тот которого в ридонли закинули)
2003-08-29 11:03
2003.09.18
Меня на долго в readonly закинули?


14-58851
Rouse_
2003-08-31 04:17
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский