1

ですから、これが私の進みたい道です。

ステップ 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 ではテストしていません)。まだ立ち往生しています。

4

0 に答える 0