如何将文件上传到WCF服务?

时间:2008-09-09 05:27:00

标签: wcf web-services

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

我认为这样可以,但在服务方面我得到了一个错误。错误是期望text / xml的“ProtocolException”。我在绑定中尝试了不同的消息编码,但似乎没有任何效果。

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

4 个答案:

答案 0 :(得分:9)

@jdiaz,

@JasonS是对的,上传文件需要将其作为字节流传输。您需要使用WCF streaming。例如,如何通过WCF上传文件,请参阅an article

中的http://kjellsj.blogspot.com

答案 1 :(得分:2)

您想要使用的内容可能是MTOM,如果您希望它是标准的话。使用它,您可以拥有MIME多部分消息。

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

我相信您必须将文件作为字节数组传输到WCF。您需要处理来自SWFUpload的帖子并在发送到您的服务之前转换为字节数组。