1

当尝试从本地 IIS ftp 服务器下载文件时,FtpWebResponse ConetentLength 返回为 -1。

IIS FTP 配置:

  1. IP 未分配:全部未分配

  2. SSL:无 SSL

  3. 身份验证:匿名

  4. 授权:所有用户

  5. 权限:读,写

下面是我的代码,

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
4

0 回答 0