Closed zagadeka closed 3 weeks ago
As soon as my schedule allows, I will look into this.
@robinrodricks Here you have a server that responds (FEAT) with
Response: MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
Response: MLSD
by the way (non RFC compliant) and probably it is telling us it supports both MLST andMLSD** (which is redundant, as MLST implies MLSD).
For this issue, it needs to be checked if the MLST format ("type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique") is standard and parsed correctly by FluentFTP before checking anything else, I suppose.
Ok, I can confirm this happens both with SYNC and ASYNC.
Well, I can see in the code that the only information actually returned in the FtpResult
list is the FtpStatus
, (i.e. skipped, failed or success). And actually the XML doc for DownloadFiles states this:
/// <returns>
/// Returns a listing of all the remote files, indicating if they were downloaded, skipped or overwritten.
/// Returns a blank list if nothing was transferred. Never returns null.
/// </returns>
So, you have the local and the remote paths and only the FtpStatus. No Size.
I suppose you would like to have the size at that point, but it is not returned down the call stack from the single file download. Changing that would entail a lot of work.
You could get the size yourself if you want it, either locally or remote, after the transfer. If you need it for verification, note that the file download(s) can be optionally set to verify by size, hash or whatever.
@FanDjango: Thank you for your reply. In that case, the DownloadFiles
method should not return the FtpStatus
collection as this is confusing.
I will ask about the size independently. I suppose that in general the size in the operation may differ from the size of the original file, especially in the case of failure.
FTP Server OS: Unix
FTP Server Type: Pure-FTPd
Client Computer OS: Windows
FluentFTP Version: 51.0.0
Framework: .NET 8
All results of the
DownloadFiles
method of theAsyncFtpClient
client have theSize
property set to zero despite outputting the correct file size in the log.Logs :