1

www ディレクトリに配置された画像を更新したいと思います。たとえば、次のようになります。

assets/www/img1.png
assets/www/img2.png

基本的に、既に大量の画像があり、サーバーから画像を取得して既存の画像を上書きしたいと考えています。ここでphonegap ガイドを読んでいましたが、残念ながら自分で理解できませんでした。誰かがこれで私を助けてくれますか?

var imgNames = ["www.foo.com/img1.png","www.foo.com/img2.png"];
for(var i=0; i < imgNames .length; i++){
    toDlPath = imgNames[i].substring(imgNames[i].lastIndexOf("/") +1); //e.g. img1.png
    ft = new FileTransfer();
    ft.download(imgNames[i], dlPath, function(e){
        console.log("Successful download of "+e.fullPath);
    }, function(e){
           console.log("error while saving img:");
           console.log(e);
    });
}

FileTransfer を試してみましたが、次のエラーが発生しました (Android でテスト済み):

09-28 14:32:14.437: E/FileTransfer(11017): {"target":"img1.png","source":"http:\/\/foo.com\/img1.png","code":1}
09-28 14:32:14.437: E/FileTransfer(11017): java.io.FileNotFoundException
09-28 14:32:14.437: E/FileTransfer(11017):  at org.apache.cordova.FileTransfer.getFileFromPath(FileTransfer.java:556)
09-28 14:32:14.437: E/FileTransfer(11017):  at org.apache.cordova.FileTransfer.download(FileTransfer.java:444)
09-28 14:32:14.437: E/FileTransfer(11017):  at org.apache.cordova.FileTransfer.execute(FileTransfer.java:88)
09-28 14:32:14.437: E/FileTransfer(11017):  at org.apache.cordova.api.PluginManager$1.run(PluginManager.java:186)
09-28 14:32:14.437: E/FileTransfer(11017):  at java.lang.Thread.run(Thread.java:856)

フォンギャップ バージョン 1.8.1

あなたの助けに感謝します。

4

1 に答える 1

0

最終的には、画像ファイルを電話に直接保存するのではなく、画像を Base64 文字列に変換してデータベースに保存し、そこから画像をロードしました。

Base64Coderに感謝します。

于 2012-09-29T12:39:37.443 に答える