"Maximum file size was exceeded" 由 System.Net.FtpClient 抛出



当用户上传大小超过50MB的文件时,我遇到了一个问题。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#代码还是服务器,请打开命令提示符并使用命令行FTP将相同的文件放入服务器。如果服务器出错并在PUT期间返回400或500级别的错误,则这是服务器文件大小限制。

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

相关内容

最新更新