ASP.NET Webservice破坏了上传的文件

时间:2009-08-04 22:24:08

标签: asp.net web-services binary-data uploading

我有一个web服务,通​​过它我可以将文档上传到我们的ASP.NET网站。 问题是当我上传PDF& Word文档,当我尝试打开它们时它们会被破坏。文本文档总是上传很好。 甚至奇怪的是,在我的开发机器上,这些文件上传很好但是当我尝试上传到我们的演示站点时,它们会被破坏。

有什么想法吗?

我的代码格式为:

WebServicesSoapClient proxy = new WebServicesSoapClient();

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

1 个答案:

答案 0 :(得分:1)

您的pdf文件是否大于4MB?这是ASP.NET的默认最大请求长度。您可以使用以下命令覆盖web.config中的该设置:

<httpRuntime maxRequestLength="8192" />

但是,请注意,这会增加服务器上的内存使用量 - 默认情况下,asp.net会将整个请求缓存在内存中。

另外,我不完全确定这是你的问题,因为通常超过请求长度会导致抛出异常 - 而不是静默文件损坏。

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