Retrieve Flash file post in ASP.NET
- by Quandary
Question: In ASP.NET, I retrieve a JPEG-file as Flash post data like this
Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
context.Response.ContentType = "text/plain"
' Retrieve a bytearray from the post buffer
Dim myBuffer As Byte() = context.Request.BinaryRead(Convert.ToInt32(context.Request.InputStream.Length))
System.IO.File.WriteAllBytes("c:\temp\test.jpg", myBuffer)
End Sub
In Flash, I send it to an asp.net handler like this
var jpgSource:BitmapData = cPrint.TakeSnapshot(MovieClip(cGlobals.ccPlanZoomView));
var bmpThisBitmap:Bitmap = new Bitmap(jpgSource);
var nQuality:Number = 100;
var jpgEncoder:JPGEncoder = new JPGEncoder(nQuality);
var jpgStream:ByteArray = jpgEncoder.encode(jpgSource);
var header:URLRequestHeader = new URLRequestHeader ("Content-type", "application/octet-stream");
// Make sure to use the correct path to jpg_encoder_download.php
var strFileName:String="test.jpg";
var jpgURLRequest:URLRequest = new URLRequest("http://localhost/raumplaner_new/raumplaner_new/cgi-bin/SavePDF.ashx");
//var scriptVars:URLVariables = new URLVariables();
//scriptVars.fn = strFileName;
//var myarr:Array= new Array();
//myarr.push(jpgStream);
//scriptVars.Files = myarr;
jpgURLRequest.requestHeaders.push(header);
jpgURLRequest.method = URLRequestMethod.POST;
//jpgURLRequest.data = scriptVars;
jpgURLRequest.data = jpgStream;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.load(jpgURLRequest);
It works but I want to send a few additional variables along, via scriptVars (commented out here).
How do I retrieve the JPEG file in that case ?
Because if I use parameters, there is no more BinaryRead...
Aspecially, how would I read an array of jpeg files (several files) ?