flex ios cameraroll无法获取图片内容?

时间:2013-06-19 03:04:20

标签: ios flex

关于我的APP, 我想拍照并上传到服务器。 我参考了这篇文章:Uploading images from CameraRoll and CameraUI,但我无法在下面的代码块中获取图片内容:

private function readMediaData():void
{
    var imageBytes:ByteArray = new ByteArray();
    dataSource.readBytes( imageBytes );
    ......
}

imageBytes将为0 KB, 有谁知道为什么? 感谢〜

1 个答案:

答案 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
}

这对我有用,我希望这会对某人有所帮助。