我构建了一个WCF服务来接受一个文件并将其写入磁盘。前端包含一个SWFUpload页面,用于处理客户端上传。显然,SWFUpload发布的内容类型为:multipart / form-data。
我认为这样可以,但在服务方面我得到了一个错误。错误是期望text / xml的“ProtocolException”。我在绑定中尝试了不同的消息编码,但似乎没有任何效果。
如何使用multipart / form-data上传此文件?
答案 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的帖子并在发送到您的服务之前转换为字节数组。