我正在使用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对象的文档,以及在什么时候传入文件路径,我没有太多运气。
答案 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 () { }
);