Monday, December 31, 2007

Uploading a file using Dojo

I was trying to upload a file using and async request with the dojo.xhrPost call. I kept getting an error from my server script (CFMX 7) saying that the contentType was wrong as it was expecting "application/x-www-form-urlencoded" but it was expecting "multipart/form-data".
It was then brought to my attention that you cannot upload a file using xhrPost. You have to use either dojo.io.iframe.send() or dojox.xhrMultiPart.
I tried the dojo.iframe.send() approach and it worked just fine. The javascript looks like this:
dojo.require("dojo.io.iframe");
dojo.io.iframe.send({
method: "post",
url: "process.cfm",
handleAs: "html",
timeout: 3000,
handle: AddEditCallback,
form: dojo.byId('myForm')
});

No comments: