【问题标题】:How to upload a file to a WCF Service?如何将文件上传到 WCF 服务?
【发布时间】:2010-09-08 06:03:33
【问题描述】:

我已经构建了一个 WCF 服务来接受文件并将其写入磁盘。前端包含一个带有 SWFUpload 的页面,该页面在客户端处理上传。显然,SWFUpload 使用以下内容类型发布数据:multipart/form-data。

我认为这没问题,但在服务端我收到错误。错误是“ProtocolException”,需要文本/xml。我在绑定中尝试了不同的消息编码,但似乎没有任何效果。

如何使用 multipart/form-data 上传此文件?

【问题讨论】:

    标签: wcf web-services


    【解决方案1】:

    @jdiaz,

    @JasonS 是对的,要上传文件,您需要将其作为字节流传输。您需要使用WCF streaming。例如关于如何通过 WCF 上传文件,请参见 an article from http://kjellsj.blogspot.com

    【讨论】:

    • 这真的有帮助吗?我仍然不知道如何从浏览器上传。到目前为止,我发现的所有解决方案都使用 .NET 客户端上传到 WCF。不是 SWFUpload。
    【解决方案2】:

    如果你想让它成为标准,你想使用的可能是MTOM。使用它,您可以拥有 MIME 多部分消息。

    然后您必须将文件作为流读取并将其填充到请求的参数之一中。

    【讨论】:

      【解决方案3】:

      可能是您的 WCF 服务以 .NET Framework 3.5 为目标,而您的 IIS 在 .NET Framework 4.0 上运行。在这种情况下(框架不匹配),您需要修改您的服务。

      【讨论】:

        【解决方案4】:

        我相信您将不得不将文件作为字节数组传输到 WCF。您需要处理来自 SWFUpload 的帖子并转换为字节数组,然后再发送到您的服务。

        【讨论】:

          猜你喜欢
          • 2011-10-04
          • 1970-01-01
          • 1970-01-01
          • 2012-02-05
          • 1970-01-01
          • 2011-06-30
          • 1970-01-01
          • 2011-11-12
          • 1970-01-01
          相关资源
          最近更新 更多