我有一个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);
答案 0 :(得分:1)
您的pdf文件是否大于4MB?这是ASP.NET的默认最大请求长度。您可以使用以下命令覆盖web.config中的该设置:
<httpRuntime maxRequestLength="8192" />
但是,请注意,这会增加服务器上的内存使用量 - 默认情况下,asp.net会将整个请求缓存在内存中。
另外,我不完全确定这是你的问题,因为通常超过请求长度会导致抛出异常 - 而不是静默文件损坏。
另见http://support.microsoft.com/default.aspx?scid=kb;EN-US;295626