ですから、これが私の進みたい道です。
ステップ 1) サーバーは画像の base64 を返します
ステップ 2) 電話アプリは base64 を画像に変換します
ステップ 3) 電話アプリは画像を電話に保存します
ステップ 4) cordova アプリを使用してイメージのファイル URI を取得する
ステップ 1 とステップ 4 はすでに実行できます。私の問題は、base64 を取得して電話で画像に変換しようとすることです。イメージタグのソースでbase64を使用してイメージを表示できることは承知していますが、これはうまくいきません。cordova アップロード呼び出しで使用するファイル URI が必要です (この呼び出しに base64 を送信すると、Android では機能しますが、iOS では機能しません)。
どんな助けでも大歓迎です。皆様、遅ればせながらメリークリスマス!!:)
更新:
アップロード メソッドに base64 の代わりに有効なファイル uri を提供するために、base64 応答を受信する代わりに画像をダウンロードしようとしました。
var uri = encodeURI("<my_server>/public/assets/uploads/img_54a2b5b29912b.jpg");
var fileURL = "/sdcard/testCordova/file.png";
var ft = new FileTransfer();
var options = new FileUploadOptions();
var headers={'Authorization':authHeader};
ft.download(
uri,
fileURL,
function(entry) {
alert("download complete: " + entry.toURL());
},
function(error) {
alert("download error source " + error.source);
alert("download error target " + error.target);
alert("upload error code" + error.code);
},
true,
options
);
これは、Android ではエラー コード = 3 を返し続けます (iOS ではテストしていません)。まだ立ち往生しています。