Reputation: 3368
I use a basic Post to send data to a Django server.
The data consists of a base64 encoded 640*380 PNG image dynamically created by the flex component.
<mx:HTTPService id="formSend" showBusyCursor="true"
useProxy="false" url="http://127.0.0.1/form/"
method="POST" result="formSentConfirmation(event)" fault="formSendingFailed(event)"/>
private function sendForm(url:String, message:String, meteo:Number):void {
formSend.url = url;
var params:Object = { message: message, image_data: getEncodedImage() };
snapButton.label = "sending ...";
formSend.send(params);
}
On the server side i can see that the data is in the request.POST not in request.FILES. That means the image is not send as a File with multiencode HTTP.
Will i get into trouble on a real server ? since the limit is 200k for urlencoded POST var.
How to make HTTPservice send the data as a file?
Any other solutions?
Thanks
Upvotes: 2
Views: 12800
Reputation: 55
Found something interesting than we can dig on it. Use this:
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.data = _img.data;
urlLoader.addEventListener(Event.COMPLETE,LoadedComplete);
var request:URLRequest = new URLRequest("www.url.com?toto=toto");
request.method = URLRequestMethod.POST
request.contentType = "multipart/form-data";
request.data = _img.data;
request.requestHeaders = new Array(new URLRequestHeader("toto", "toto"));
urlLoader.load(request);
Well with that i get something in C# server side the request content length is not empty and i got toto in the params and in the header, one problem in files collection there are no files sent ... where are the sent bytes ???
Upvotes: 2