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エンコードデータを抽出できません。JSONAJAX呼び出しで送信するために必要です。

私のコードに何か問題がありますか?私が必要なことを達成する方法を知っていますか?

乾杯。

シリル

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 に答える