题
我已经构建了一个 WCF 服务来接受文件并将其写入磁盘。前端由一个包含 SWFUpload 的页面组成,该页面负责处理客户端的上传。显然,SWFUpload 发布的数据的内容类型为:多部分/表单数据。
我认为这没问题,但在服务方面我收到错误。错误是“ProtocolException”,需要文本/xml。我在绑定中尝试了不同的消息编码,但似乎没有任何效果。
如何使用 multipart/form-data 上传此文件?
解决方案
@jdiaz,
@JasonS 是对的,要上传文件,您需要将其作为字节流传输。你需要使用 WCF 流式传输. 。例如,有关如何通过 WCF 上传文件的信息,请参阅 一篇文章 从 http://kjellsj.blogspot.com
其他提示
你想用的可能是 MTOM, ,如果你想让它成为标准。使用它,您可以拥有 MIME 多部分消息。
然后,您必须以流的形式读取文件并将其填充到请求的参数之一中。
您的 WCF 服务可能以 .NET Framework 3.5 为目标,而您的 IIS 在 .NET Framework 4.0 上运行。在这种情况下(框架不匹配),您需要修改您的服务。
我相信您必须将文件作为字节数组传输到 WCF。您需要处理来自 SWFUpload 的帖子并在发送到您的服务之前转换为字节数组。
不隶属于 StackOverflow