2014-02-19 58 views
2

我得到這個錯誤時,文件長度大於18 MB:.NET的WinForms C#上傳大文件

流不支持併發IO讀或寫操作

的錯誤是本地化本節:

requestStream.Write(header, 0, header.Length); 
if (fileData != null) 
{ 
    // write the file data, if any 
    byte[] buffer = new Byte[checked((uint)Math.Min(8192, (int)fileData.Length))]; 
    int bytesRead; 

    try 
    { 
      while ((bytesRead = fileData.Read(buffer, 0, buffer.Length)) != 0) 
      { 
       //throws an exception after 3000 loops aprox 
       requestStream.Write(buffer, 0, bytesRead); 
      } 
    } 
    catch (Exception ex) 
    { 
      string aux = ex.Message; 
    } 
} 

// write footer 
requestStream.Write(footer, 0, footer.Length); 
return webrequest.GetResponse(); 

一句盡力了,sendChunked = trueAllowWriteStreamBuffering = false但我無法正確上傳文件。

在此先感謝

+1

對不起,我可以找到ImageList.ImageSize屬性和我的問題之間的關係。 – Docu

+0

你確定可以上傳更大的文件,然後18 Mb嗎? – cansik

+1

您正在上傳到網絡服務器?服務器可能只是拋出一個奇怪的例外。在您控制的網絡服務器上測試。 – Paparazzi

回答

1

也許Web服務器發送一個錯誤信息(讀),雖然循環試圖(寫)數據上傳到流的大小限制已經超過。您可以嘗試使用Wireshark或其他網絡嗅探器來檢查服務器和程序之間發送的內容。