Файлы почему то битые на сервер попадают, может я делаю что то не так?

Код AS3:
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.net.FileReference;
import flash.net.FileFilter;
import flash.utils.ByteArray;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.display.MovieClip;
import fl.controls.ProgressBarMode;
import flash.display.Bitmap;
import flash.display.BitmapData;
import avmplus.INCLUDE_ACCESSORS;
var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)","*.jpg; *.jpeg; *.gif; *.png");
var fileRefList:FileReference = new FileReference();
var loader:Loader;
var fileName:String,
request:URLRequest,
urlLoader: URLLoader,
bitmapData:BitmapData;
function opens(event:MouseEvent):void
{
fileRefList.addEventListener(Event.SELECT, selectHandler);
fileRefList.addEventListener(Event.COMPLETE,onComplete);
urlLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE,completeHandlerUrlLoader);
fileRefList.browse([imageTypes]);
}
function convertToSmallBitmap(bit:Bitmap):BitmapData {
var w:Number = 800;
var h:Number = 600;
//var sourceBitmapData:BitmapData = new MyBitmapData();
var sx:Number = w / bit.width;
var sy:Number = h / bit.height;
var bitmap:Bitmap = new Bitmap( new BitmapData( w, h ) );
bitmap.bitmapData.draw( bit.bitmapData, new Matrix( sx, 0, 0, sy, 0, 0 ) );
return bitmap.bitmapData;
}
function onComplete1(event:Event):void
{
var smallBitmap:BitmapData = convertToSmallBitmap(loader.content as Bitmap);
fileName = String(new Date().getTime());
request = new URLRequest(
"http://localhost/save-file.php?name="+fileName+"&d="+new Date().getTime());
request.data = smallBitmap.getPixels(smallBitmap.rect);
//request.data = fileRefList.data;
request.method = URLRequestMethod.POST;
request.contentType = 'application/octet-stream';
urlLoader.load(request);
}
function onComplete(event:Event):void
{
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete1);
loader.loadBytes(fileRefList.data);
}
function selectHandler(event:Event):void
{
try
{
fileRefList.load();
}
catch (e:Error)
{
}
}
function completeHandlerUrlLoader(event:Event):void
{
ExternalInterface.call("myFunction", fileName);
}
select_btn.addEventListener(MouseEvent.CLICK, opens);
На сервере принимаю так:

PHP код:
$fileData = $GLOBALS[HTTP_RAW_POST_DATA];
$fileName = 'uploads/'.$_GET['name'] . '.jpg';
$fp = fopen($fileName, "w");
fwrite($fp,$fileData);
fclose($fp);
echo "file write - OK ".$fileName;
Добавлено через 56 минут
Всем спасибо, получилось!
вместо

Код AS3:
request.data = smallBitmap.getPixels(smallBitmap.rect);
поменял на

Код AS3:
request.data = jpgEncoder.encode(smallBitmap);