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

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

How to upload a file to a WCF Service?

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

我认为可以,但是在服务端却出现错误。 错误是" 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的帖子,并将其转换为字节数组,然后再发送给您的服务。


推荐阅读

    linux命令添加文件?

    linux命令添加文件?,工作,简介,数据,系统,文件,命令,操作,文件名,内容,终端,l

    linux文件中剪切命令?

    linux文件中剪切命令?,位置,系统,工作,命令,发行,连续,标准,终端,文件,目录,l

    linux存储文件命令?

    linux存储文件命令?,系统,地址,工作,命令,软件,电脑,标准,底部,信息,文件,lin

    linux中启动服务命令?

    linux中启动服务命令?,服务,系统,命令,信息,工作,设备,网络,标准,名称,密码,l

    linux命令移除文件夹?

    linux命令移除文件夹?,命令,文件夹,通用,不了,数据,名称,档案,系统,文件,目

    linux命令测试客户端?

    linux命令测试客户端?,地址,系统,网络,工具,工作,分析,环境,命令,下行,资料,l

    在linux文件后加命令?

    在linux文件后加命令?,系统,工作,命令,工具,电脑,基础,管理,情况,第一,简介,L

    linux命令删除文件夹?

    linux命令删除文件夹?,系统,名称,环境,文件夹,不了,命令,文件,数据,档案,目

    linux命令看文件编码?

    linux命令看文件编码?,状态,系统,文件,工具,名称,数据,命令,格式,汉字,以下,L

    linux编辑文件的命令?

    linux编辑文件的命令?,系统,地址,工作,状态,命令,电脑,信息,管理,目录,终端,l

    linux命令行关掉文件?

    linux命令行关掉文件?,地址,状态,工作,系统,信息,命令,名字,电脑,编辑,文件,l

    linux服务器保存命令?

    linux服务器保存命令?,时间,状态,档案,电脑,命令,信息,位置,编辑,文件,模式,L

    linux服务器扫盘命令?

    linux服务器扫盘命令?,地址,工作,命令,目录,数据,单位,名称,系统,管理,信息,L

    linux进程与磁盘命令?

    linux进程与磁盘命令?,管理,系统,信息,情况,基础,增长,单位,地址,发行,命令,L

    linux磁盘命令dm?

    linux磁盘命令dm?,信息,设备,地址,软件,系统,工作,公司,下来,数据,磁盘,linux

    linux分隔文件命令?

    linux分隔文件命令?,系统,信息,文件,命令,位置,指令,文件夹,目录,前缀,方法,l

    linux改文件权限命令?

    linux改文件权限命令?,系统,工具,档案,权限,文件,信息,命令,目录,选项,用户,

    linux磁盘列表命令?

    linux磁盘列表命令?,情况,管理,系统,单位,信息,数据,命令,磁盘,服务,时间,lin

    linux命令交换文件名?

    linux命令交换文件名?,命令,文件,数据,名称,工具,地址,软件,系统,基础知识,