一种相思两闲愁 2024-02-15 11:10 采纳率: 100%
浏览 32
已结题

c# 利用FtpWebRequest下载文件时,返回的response中ContentLength为 -1

.NET小程序 ,c# 利用FtpWebRequest下载文件时,返回的response中ContentLength为 -1 这个怎么解决啊,同样的文件,本地测就没有什么问题,一到生产就出现这个问题!仙人帮忙看下!

  • 写回答

4条回答 默认 最新

  • 丨Haruna 2024-02-15 21:28
    关注

    ContentLength为 -1不一定就是有问题的,有可能是FTP服务器不支持通过 FTP 协议获取文件长度的操作。
    你也可以试试用WebRequestMethods.Ftp.GetFileSize 字段来获取文件大小

    long GetFileSize(string uri, string username, string password)
    {
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(uri);
        request.Credentials = new NetworkCredential(username, password);
        request.Method = WebRequestMethods.Ftp.GetFileSize;
    
        using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
        {
            return response.ContentLength;
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月24日
  • 已采纳回答 2月16日
  • 创建了问题 2月15日