PhoneGap FileReader/readAsDataURL Not Triggering Callbacks

依然范特西╮ 提交于 2019-12-06 07:23:51

Reorganize your code a bit. Put the reader initialisation and onloadend callback inside the resolveLocalFileSystemURL success callback.

Something like this:

var elements = new Object();
elements["video"] = $("#window_incident_create > .video > source")[0];

navigator.device.capture.captureVideo(
    function(files) {
        for ( var i in files ) {
            var file = files[i];

            var name = file.name;
            var path = file.fullPath;
            if ( path.indexOf("/private") === 0 )
                path = "file://" + path.substr(8);
            else
                path = "file://" + path;
            var type = file.type;
            var lastModifiedDate = file.lastModifiedDate;
            var size = file.size;

            window.resolveLocalFileSystemURL(
                path,
                function(entry) {
                    console.log(1, entry.nativeURL);
                    var reader = new FileReader();
                    reader.onloadend = function(event) {
                        console.log(3);
                        elements["video"].type = type;
                        elements["video"].src = "data:" + type + ";base64," + event.target.result;
                        console.log(4);
                    };
                    reader.readAsDataURL(entry);
                    console.log(2);
                },
                function(error) {
                    console.log("0-0", error);
                }
            );
        }
    },
    function(error) {
        console.log("0-1", error);
    },
    {
        limit:  1
    }
);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!