Если ваше приложение подключено к сети, вам потребуется сценарий на стороне сервера для создания и сохранения изображения.
В основном код может быть следующим:
var request:URLRequest = new URLRequest( mailLoc );
request.contentType = 'application/octet-stream';
request.method = URLRequestMethod.POST;
request.data = bArray;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, MailCompleteHandler);
loader.addEventListener( IOErrorEvent.IO_ERROR, _onImageError );
try
{
loader.load(request);
}
catch(error:Error)
{
trace("Unable to load URL");
}
private function _onImageError(e:IOErrorEvent):void {
trace("IOErrorEvent: ",e.type," : ",e.text)
}
На стороне сервера, php код:
//bindary data.
$image_bytes = $GLOBALS["HTTP_RAW_POST_DATA"];
//change to whatever works for you
$file_name = "testfile.jpg";
$file_path = "../uploads/$file_name";
$file = fopen( $file_path, 'w+' );
if ( !fwrite( $file, $image_bytes ) ) {
return "Error writing to file: $file";
}
fclose( $file );
Вы можете проверить это, чтобы получить больше информации:
[EDIT]
Захват растровых данных:
//loader should be your loader instance displaying your graphic.
var snapshot:BitmapData = capture(loader);
var result:Bitmap = new Bitmap( snapshoot );
public function capture( target:DisplayObject ):BitmapData {
var rect:Object = target.getBounds( target );
var width:Number = rect.width;
var height:Number = rect.height;
var bitmap:BitmapData = new BitmapData( width+1 , height+1, true, 0x00000000 );
var matrix:Matrix = new Matrix();
matrix.translate( -rect.x , -rect.y );
bitmap.draw( target , matrix );
return bitmap;
}