【问题标题】:"Maximum file size was exceeded" throws by System.Net.FtpClientSystem.Net.FtpClient 抛出“超出最大文件大小”
【发布时间】:2014-12-03 23:50:34
【问题描述】:

当用户上传大小超过 50 MB 的文件时,我遇到了问题。 FTP 代码抛出异常“已超出最大文件大小”。

我在下面放了代码。

if (ftp.IsConnected)
{
    var destPath = Convert.ToString(Session["fullpath"]);
    int BUFFER_SIZE = file.ContentLength; // 64KB buffer
    byte[] buffer = new byte[file.ContentLength];
    using (Stream readStream = file.InputStream)
    using (Stream writeStream = ftp.OpenWrite(string.Format("{0}/{1}", destPath, file.FileName)))
    {
        while (readStream.Position < readStream.Length)
        {
            buffer.Initialize();
           int bytesRead = readStream.Read(buffer, 0, BUFFER_SIZE);
           writeStream.Write(buffer, 0, bytesRead);
       }
        ViewState["fileContentLenght"] = file.ContentLength;
        writeStream.Flush();

    }
}

【问题讨论】:

  • 似乎更有可能这是您正在达到的服务器限制,而不是您可以在代码中解决的问题。
  • 为什么我搜索了很多但没有找到任何解决方案的负面投票

标签: c# sftp ftp-client codeplex


【解决方案1】:

要诊断是 C# 代码还是服务器,请打开命令提示符并使用命令行 FTP 将相同的文件放入服务器。如果服务器在 PUT 期间出错并返回 400 或 500 级错误,则这是服务器文件大小限制。

如果确定是服务器端限制,您应该联系 FTP 服务器管理员,看看他们是否无法增加您在服务器上的上传限制。

【讨论】:

    猜你喜欢
    • 2020-04-24
    • 1970-01-01
    • 2012-12-28
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 2010-12-07
    相关资源
    最近更新 更多