从PhoneGap FileEntry中提取base64编码数据

时间:2012-08-24 11:25:05

标签: javascript android ios cordova cordova-2.0.0

我正在使用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调用中发送它。

我的代码中有什么问题吗?你知道如何实现我的需求吗?

干杯。

西里尔

1 个答案:

答案 0 :(得分:2)

好的,没有必要捕获reader.readAsDataURL的返回值,因为它是异步调用并且不返回任何内容。你的tryToSend方法应该写成:

function tryToSend(evt) {
    var encoding = evt.target.result;
    // now encoding has your file as a base64 encoded string.
}