2014-10-09 80 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服務器管理員,看他們是否不能增加服務器上的上傳限制。

相關問題