【问题标题】:Extract base64 encoded data from a PhoneGap FileEntry从 PhoneGap FileEntry 中提取 base64 编码数据
【发布时间】:2012-08-24 11:25:05
【问题描述】:

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

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

干杯。

西里尔

【问题讨论】:

    标签: javascript android ios cordova cordova-2.0.0


    【解决方案1】:

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

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

    【讨论】:

    • 它工作正常,我尝试了 evt.result 但显然我遗漏了一些东西......干杯!
    猜你喜欢
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 2021-05-06
    • 2011-10-22
    • 2010-12-18
    • 2015-12-17
    相关资源
    最近更新 更多