我想在FTP上获取文件的大小。在C中获取FTP文件大小#
//Get File Size
reqSize = (FtpWebRequest)FtpWebRequest.Create(new Uri(FtpPath + filePath));
reqSize.Credentials = new NetworkCredential(Username, Password);
reqSize.Method = WebRequestMethods.Ftp.GetFileSize;
reqSize.UseBinary = true;
FtpWebResponse respSize = (FtpWebResponse)reqSize.GetResponse();
long size = respSize.ContentLength;
respSize.Close();
我试过以下,但得到550错误。文件未找到/无法访问。但是,下面的代码工作...
reqTime = (FtpWebRequest)FtpWebRequest.Create(new Uri(FtpPath + filePath));
reqTime.Credentials = new NetworkCredential(Username, Password);
reqTime.Method = WebRequestMethods.Ftp.GetDateTimestamp;
reqTime.UseBinary = true;
FtpWebResponse respTime = (FtpWebResponse)reqTime.GetResponse();
DateTime LastModified = respTime.LastModified;
respTime.Close();
编辑:这不是为我工作的原因是我的FTP服务器不支持大小的方法。而不是GetDateTimestamp
的
比以前更好的意见:他需要从响应读取数据,而不仅仅是获得'ContentLength',我相信。无论哪种方式,内容长度将是0. – 2010-11-14 02:33:09
这是一个复制粘贴错误 - 我更详细地更新了我的问题。 – Jason 2010-11-14 02:34:40
我可以在不下载文件的情况下获得文件大小吗?我只是不想下载这个文件,因为它的巨大,如果它在本地相同的大小。 – Jason 2010-11-14 02:35:33