我已经构建了一个 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 的帖子并在发送到您的服务之前转换为字节数组。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top