Memory usage during file upload in AIR
Uploading files in AIR is a little bit problematic these days.
Here is the code:
<?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" showStatusBar="false" initialize="onInitialize(event)"> <mx:Script> <![CDATA[ import com.rwnage.s3.service.S3PostOptions; import flash.events.Event; public function onInitialize(event:Event):void { var accessKey:String = "0RXZ3R7Y034PA8VGNWR2"; var bucketName:String = "rwnage_test"; var objectName:String = "test_file"; var contentType:String = "application/octet-stream"; var secretAccessKey:String = "[PUT YOUR SECRET ACCESS KEY HERE]"; var postOptions:S3PostOptions = new S3PostOptions(bucketName, objectName, accessKey, { contentType: contentType }); var policy:String = postOptions.getPolicy(); var signature:String = postOptions.getSignature(secretAccessKey, policy); html.htmlText = '<html><body> \ <form name="upload" action="http://' + bucketName + '.s3.amazonaws.com/" method="post" enctype="multipart/form-data"> \ Key to upload: <input type="input" name="key" value="' + objectName + '" /><br /> \ Content-Type: <input type="input" name="Content-Type" value="' + contentType + '" /><br /> \ <input type="hidden" name="AWSAccessKeyId" value="' + accessKey + '" /> \ <input type="hidden" name="Policy" value="' + policy + '" /> \ <input type="hidden" name="Signature" value="' + signature + '" /> \ File: <input type="file" name="file" /> <br /> \ <!-- The elements after this will be ignored --> \ <input type="submit" name="submit" value="Upload to Amazon S3" /> \ </form></body></html>'; } ]]> </mx:Script> <mx:HTML id="html" width="100%" height="100%" paddingLeft="20" paddingTop="20"/> </mx:WindowedApplication>
No I don’t normally use mx:script tags, its a test case.
Eventually it malloc fails and crashes. This issue is Mac only and also occurs during a FileReference (or File) upload.
March 4th, 2008 at 6:05 am
Hey good find. I wrote my first *real* air app the other day, and I wondered why it was doing this.
August 14th, 2008 at 9:42 pm
Hi, where do I find this package:
import com.rwnage.s3.service.S3PostOptions;