关于我的APP, 我想拍照并上传到服务器。 我参考了这篇文章:Uploading images from CameraRoll and CameraUI,但我无法在下面的代码块中获取图片内容:
private function readMediaData():void
{
var imageBytes:ByteArray = new ByteArray();
dataSource.readBytes( imageBytes );
......
}
imageBytes将为0 KB, 有谁知道为什么? 感谢〜
答案 0 :(得分:0)
我正在解决完全相同的问题。在Air中看起来有一些bug(或者这是某种“未记录的功能”?)。
问题似乎是,只要使用loadFilePromise()加载图像,就会“丢失”数据源,因此IDataInput将始终将其长度返回为0,并且不会将任何内容读入字节数组。这只发生在iOS上,它在Android上运行良好。您需要做的是编辑您的事件处理程序:
private function onMediaPromiseLoaded(event:Event):void{
event.currentTarget.removeEventListener(Event.COMPLETE, onMediaPromiseLoaded);
bytes = new ByteArray(); //this is an instance variable
dataSource.readBytes(bytes); //read the bytes into it BEFORE doing anything else
//do the rest of the stuff, load picture and add to gallery or whatever
}
这对我有用,我希望这会对某人有所帮助。