在Flash AS3中上传图片的一般方法为 FileReference 的 upload 方法.
但前提是图片是存在于客户端本地的文件,而不能是存在于内存的数据流。也就是说,在Flash运行过程中生成的图片,除非先用save方法保存至磁盘,否则不可。
我在找寻答案的过程中,曾经听说应将图片数据转换为Base64字符串来传输,但这会使传输量大增,说明此并非好方法。
一个可以使用的方法是,将图片保存为byteArray,通过 URLLoader来上传。在服务器端,将其接收保存成图片。
[Flash 端]
//截图
var jpgSource:BitmapData=new BitmapData();
jpgSource.draw(一个DisplayObjectContainer);
//将图片保存为 ByteArray
var jpgEncoder:JPGEncoder=new JPGEncoder(100);
var jpgStream:ByteArray=jpgEncoder.