当尝试从本地 IIS ftp 服务器下载文件时,FtpWebResponse ConetentLength 返回为 -1。
IIS FTP 配置:
IP 未分配:全部未分配
SSL:无 SSL
身份验证:匿名
授权:所有用户
权限:读,写
下面是我的代码,
string serverUris = "ftp://localhost//test.txt";
string localFileName = "D://"
Uri serverUri = new Uri(serverUris);
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse response = (FtpWebResponse) request.GetResponse();
Stream responseStream = null;
StreamReader readStream = null;
StreamWriter writeStream = null;
try
{
responseStream = response.GetResponseStream();
readStream = new StreamReader(responseStream, System.Text.Encoding.UTF8);
Console.WriteLine("Bytes received: {0}",response.ContentLength);
if (readStream != null)
{
writeStream = new StreamWriter(localFileName, false);
writeStream.Write(readStream.ReadToEnd());
}
}
finally
{
if (readStream != null)
{
readStream.Close();
}
if (response != null)
{
response.Close();
}
if (writeStream != null)
{
writeStream.Close();
}
}
输出 :
Bytes received: -1