2014-10-09 77 views
-4

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

我在下面放置了代码。

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(); 

    } 
} 
+5

似乎更可能是这是一个服务器限制,而不是您可以在代码中解决的问题。 – 2014-10-09 06:53:47

+0

为什么反对票我搜查了很多,但没有找到任何解决方案 – Varinder 2014-10-09 09:25:27

回答

0

要诊断,如果是C#代码,或者如果它的服务器上,打开命令提示符,然后使用命令行FTP到同一个文件放置到服务器。如果服务器错误并在PUT期间返回400或500级别的错误,则这是服务器文件大小限制。

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

相关问题