If you want ot get directory listing to get the file size, you are on the
wrong track. FTP has a sie command to get the size of a file. Use it.
Advertising
Now if you really want to dir list for a file only, most FTP server use the
host file name as filter.
--
[EMAIL PROTECTED]
The author of the freeware multi-tier middleware MidWare
The author of the freeware Internet Component Suite (ICS)
http://www.overbyte.be
----- Original Message -----
From: "New Era" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Sunday, September 23, 2007 8:57 AM
Subject: Re: [twsocket] Ftp-file corruption check
> thanks for your kind reply,
>
> but if I go with the stable version of the ICS which does not have XCRC
> command support, I used the following code to achieve my aim
> (recommended by FPiette),
>
> 1- upload file using ftpPutAsync()
> 2- use ftpDirAsync() and check the size of the file of interest if it is
> same on the local machine and on the remote machine.
>
> I used the following pseudo code:
>
> procedure ftpRequestDone();
> begin
>
> case RqType of
> ....
> ftpTypeSetAsync(): Begin
> ftpCli.HostFileName:= '2.bin';
> ftpCli.LocalFileName:= 'c:\2.bin';
> ftpCli.HostDirName:= '/';
> .....
> ftpCli.PutAsync();
> End;
>
> ftpPutAsync: Begin
> ftpCli.HostFileName:= '2.bin';
> ftpCli.LocalFileName:= '';
> ftpCli.HostDirName:= '/';
> ftpCli.LocalStream:= TMemoryStream.Create();
> ftpCli.DirAsync();
> End;
>
> ftpDirAsync: Begin
> ftpCli.LocalStream.Position:= 0;
> SetLength(tempStr, ftpCli.LocalStream.Size);
> {Get the directory response of the server into
> tempStr string.}
> CopyMemory(Pointer(tempStr)^,
> TMemoryStream(ftpCli.LocalStream).Memory, ftpCli.LocalStream.Size);
>
> if(Pos(FileSizeInString, tempStr)>0) then
> ShowMessage('Uploaded Correctly')
> else showMessage('upload failure');
> End;
> ...
>
>
> end;
> ....
> end;
>
> but the problem with this code is; the server returns the whole directory
> content (losts of file) but I only want to get the directory
> listing for the specified file, to do that I used ftpCli.HostFileName:=
> '2.bin'; before calling ftpcli.DirAsync() but it did not work.
> Is there anyway to get the directory listing for the only specified file?
>
> best regards,
> Thanks
>
>
> Arno Garrels <[EMAIL PROTECTED]> wrote: New Era wrote:
>> How to check if a file is either uploaded correctly or not, I know
>> that ftpCli supports MD5 command, but at the outside world there were
>> no commercial ftp hosting services that support MD5 command, I only
>> found one ftp hosting which supports XCRC and this is command as far
>> as I know, is not supported by ftpCli. (I am trying to build an ftp
>> client that is to be used to upload files to external ftp host.)
>
> Aug 06, 2006 V2.107 Angus [SNIP]
> added XCRC command to get CRC32 for file (for servers without
> MD5)
>
> So get latest ICS-Beta, it's in both V5 and V6
>
> --
> Arno Garrels [TeamICS]
> http://www.overbyte.be/eng/overbyte/teamics.html
>
> --
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://www.elists.org/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be
>
>
>
> ---------------------------------
> Yahoo! Answers - Get better answers from someone who knows. Tryit now.
> --
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://www.elists.org/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be