我正在使用Phonegap 2.0并尝试从其URI中获取编码为base64的媒体,但没有成功。
function tryToSend(fileReader) {
// I don't really what the parameter is
}
function win(file) {
alert(file.name + ' ' + file.type); // type is undefined here
var reader = new FileReader();
reader.onloadend = tryToSend;
var encoded = reader.readAsDataURL(file); // encoded is undefined here
}
function fail(error) {
console.log(error);
}
function onResolveSuccessCompleted(fileEntry) {
fileEntry.file(win, fail);
}
function onResolveFailed(error) {
console.log(error);
}
window.resolveLocalFileSystemURI(MY_FILE_URI, onResolveSuccessCompleted, onResolveFailed);
最后,我无法为我的文件提取base64编码数据,我需要它在JSON AJAX调用中发送它。
我的代码中有什么问题吗?你知道如何实现我的需求吗?
干杯。
西里尔
答案 0 :(得分:2)
好的,没有必要捕获reader.readAsDataURL的返回值,因为它是异步调用并且不返回任何内容。你的tryToSend方法应该写成:
function tryToSend(evt) {
var encoding = evt.target.result;
// now encoding has your file as a base64 encoded string.
}