PhoneGap readAsDataURL

时间:2013-06-06 14:06:56

标签: javascript android cordova

我正在使用PhoneGap编写我的第一个Android应用程序,但我对FileReader的文档感到有些困惑。我需要使用readAsDataURL()方法获取一个图像文件并将其转换为Base64字符串。 From their documentation:

function win(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
    console.log("read success");
    console.log(evt.target.result);
};
reader.readAsDataURL(file);
};
var fail = function(evt) {
console.log(error.code);
};
entry.file(win, fail);

除了最后一行之外,我几乎了解所有这些:entry.file(win,fail)。没有定义入口,但我认为它是一个FileEntry对象。问题是我找不到关于如何生成FileEntry对象的文档,以及在什么时候传入文件路径,我没有太多运气。

1 个答案:

答案 0 :(得分:19)

好的,终于有了这个工作。在线可怕的文档!我发布了我的代码以防其他人遇到麻烦:

window.resolveLocalFileSystemURI(filePath,
    // success callback; generates the FileEntry object needed to convert to Base64 string
    function (fileEntry) {
        // convert to Base64 string
        function win(file) {
            var reader = new FileReader();
            reader.onloadend = function (evt) {
                var obj = evt.target.result; // this is your Base64 string
            };
            reader.readAsDataURL(file);
        };
        var fail = function (evt) { };
        fileEntry.file(win, fail);
    },
    // error callback
    function () { }
);