Question

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?

Was it helpful?

Solution

@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

OTHER TIPS

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.

It might be that your WCF service targets .NET Framework 3.5 and your IIS is running on .NET Framework 4.0. In this case (framework mismatch) you need to modify your service.

I believe you are going to have to tranfer the file as a byte array to WCF. You will need to handle the post from SWFUpload and convert to a byte array before sending to your service.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top