Всем добрый день. Столкнулся с такой проблемой. Нужно считать содержимое файла картинки, отправить на сервер и там сохранить в файл. делаю так:
Код | import mx.graphics.ImageSnapshot; import mx.graphics.codec.JPEGEncoder; private var imageSnapshot:ImageSnapshot private function inLargeImage():void { var jPEGEncoder:JPEGEncoder = new JPEGEncoder(90); imageSnapshot = ImageSnapshot.captureImage(load_img,500, jPEGEncoder,true); byteArrayToBitmapData(imageSnapshot.data); } private var loader : Loader = new Loader(); private function byteArrayToBitmapData(byteArray : ByteArray):void { loader.contentLoaderInfo.addEventListener(Event.COMPLETE, getBitmapData); loader.loadBytes(byteArray); } private var bitmapData:BitmapData private function getBitmapData(e:Event):void { var content:* = loader.content; bitmapData = new BitmapData(content.width,content.height,true,0x00000000); var matrix:Matrix = new Matrix(); bitmapData.draw(content, matrix,null,null,null,true); targetImage.source = new Bitmap( bitmapData ); } private function saveInLargeImage() : void { if(bitmapData == null) { return; } var encoder:JPEGEncoder = new JPEGEncoder(90); var byteArray:ByteArray = encoder.encode(bitmapData); var fr : FileReference= new FileReference(); base64Eec = new Base64Encoder(); base64Eec.encode(String(byteArray)); var encodedCredentials:String = base64Eec.toString(); var loader:URLLoader = new URLLoader(); var request:URLRequest=new URLRequest('http://******/wrt.php?rnd=' + Math.random()); request.method=URLRequestMethod.POST; var vars:URLVariables = new URLVariables(); vars['test']=encodedCredentials; request.data=vars; loader.addEventListener(Event.COMPLETE, onComplete); loader.load(request); function onComplete(event:Event):void { trace (loader.data); } }
|
и на стороне сервера:
Код | $fp = fopen("log/upl.jpg", "a+"); $test = fwrite($fp, base64_decode($txt_in)); if ($test) echo ''; else echo 'error'; fclose($fp);
|
Локальная картинка весит 859 кб, а на стороне сервера, после сохранения, почему то только 205 кб, соответственно не открывается...
Кто знает, подскажите: что делаю не так? Почему файл не передается полный объемом?...
Заранее спасибо! |