Сделал так:
Были проблемы с классом JPEGEncoder. Нашёл рабочий JPEGEncoder
http://www.bytearray.org/?p=775

Код AS3:
package {
import flash.display.MovieClip;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.FileReference;
import flash.display.Loader;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.events.Event;
import flash.net.FileFilter;
import flash.events.MouseEvent;
import flash.net.URLRequestMethod;
public class Main extends MovieClip {
private var filter:FileFilter = new FileFilter('Изображения: (*.jpg, *.jpeg, *.gif, *.png)','*.jpg;*.jpeg;*.gif;*.png');
private var url:URLRequest = new URLRequest();
private var urlLoader:URLLoader = new URLLoader();
private var file:FileReference = new FileReference();;
private var loader:Loader = new Loader();;
public function Main() {
browse_btn.addEventListener(MouseEvent.CLICK, browse);
}
public function browse(e)
{
file.addEventListener(Event.SELECT, select);
//file.addEventListener(IOErrorEvent.IO_ERROR, error);
//file.addEventListener(ProgressEvent.PROGRESS, progress);
//file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, response);
file.browse([filter]);
}
// загрузить изображение во флэш
public function select(e:Event):void
{
file.addEventListener(Event.COMPLETE, getLoader);
try
{
file.load();
}
catch (e:Error)
{
}
}
//
public function getLoader(e:Event):void
{
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, upload);
loader.loadBytes(file.data);
}
//
public function upload(e):void
{
var bmpData:BitmapData = imgResize(loader.content as Bitmap);
var fileName:String = String(new Date().getTime());
var jpg:JPEGEncoder = new JPEGEncoder();
url.data = jpg.encode(bmpData);
url.url = "http://мой_сайт/upload.php?name="+fileName+"&d="+new Date().getTime();
url.method = URLRequestMethod.POST;
url.contentType = 'application/octet-stream';
urlLoader.load(url);
}
//
public function imgResize(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;
}
}
}