System.Net.FtpClient抛出“超出最大文件大小”

时间:2014-10-09 06:34:54

标签: c# sftp ftp-client codeplex

当用户上传大小超过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();

    }
}

1 个答案:

答案 0 :(得分:0)

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

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