2009-08-04 32 views
0

我有一個web服務,通​​過它我可以上傳文件到我們的ASP.NET網站。 問題是當我上傳PDF文件&時,當我嘗試打開它們時,它們會損壞。文本文件始終上傳正常。 奇怪的是,在我的開發機器上,這些文件上傳得很好,但是當我嘗試上傳到我們的演示站點時,它們被損壞。ASP.NET Webservice破壞上傳的文件

任何想法?

我的代碼的格式爲:

WebServicesSoapClient proxy = new WebServicesSoapClient(); 

byte[] data = GetFileByteStream("C:\\temp\\sample.pdf"); 
string response = proxy.UploadDocument("james", "password", 
         orderId, "Sample.pdf", data, true); 
+0

請顯示一些服務代碼。請說出.NET的哪個版本。這是一個WCF或ASMX服務和/或客戶端?這是一個網站還是一個Web應用程序項目? – 2009-08-05 14:01:58

回答

1

是你的PDF文件超過4MB大?這是ASP.NET的默認最大請求長度。您可以覆蓋該設置在你的web.config有:

<httpRuntime maxRequestLength="8192" /> 

但是,要知道,這會增加你的服務器上的內存使用情況 - 默認情況下asp.net會在內存中緩存整個請求。

此外,我不完全確定這是你的情況的問題,因爲通常這超過了請求長度會導致異常被拋出 - 而不是無聲的文件損壞。

另請參閱http://support.microsoft.com/default.aspx?scid=kb;EN-US;295626