【问题标题】:ASP.NET Webservice corrupts uploaded fileASP.NET Webservice 损坏了上传的文件
【发布时间】:2010-11-16 20:14:49
【问题描述】:

我有一个网络服务,通过它我可以将文档上传到我们的 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);

【问题讨论】:

  • 请出示部分服务代码。请说出.NET 的版本。这是 WCF 或 ASMX 服务和/或客户端吗?这是一个网站还是一个网络应用项目?

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


【解决方案1】:

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

<httpRuntime maxRequestLength="8192" />

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

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

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

【讨论】:

    猜你喜欢
    • 2012-06-20
    • 2017-12-03
    • 2019-10-10
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    相关资源
    最近更新 更多