2

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

我的代码有问题吗?你知道实现我需要的方法吗?

干杯。

西里尔

4

1 回答 1

2

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

function tryToSend(evt) {
    var encoding = evt.target.result;
    // now encoding has your file as a base64 encoded string.
}
于 2012-08-24T13:38:14.130 回答