Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to upload a file to a WCF Service?

I've build a WCF Service to accept a file and write it to disk. The front-end consists of a page with SWFUpload which is handling the upload on the client side. Apparently, SWFUpload posts the data with a Content Type of: multipart/form-data.

I would think this ok but on the Service side I get an error. The error is "ProtocolException" expecting text/xml. I've tried different message encodings in the bindings but nothing seems to work.

How can I get this file uploaded using multipart/form-data?

like image 696
jdiaz Avatar asked Sep 09 '08 05:09

jdiaz


2 Answers

@jdiaz,

@JasonS is right, to upload file you need to transfer it as a byte stream. You need to use WCF streaming. For example on how to upload file via WCF see an article from http://kjellsj.blogspot.com

like image 95
aku Avatar answered Oct 23 '22 12:10

aku


What you want to use is probably MTOM, if you want it to be standard. Using this, you can have MIME multiparts messages.

You then have to read the file as a stream and stuff it into one of the parameters of the request.

like image 2
Philippe Avatar answered Oct 23 '22 13:10

Philippe