1

私のアプリケーションには、www/files/ に製品ギャラリー用の画像 (.jpg) があります。

アプリケーションが実行されると、ファイルの更新がある場合は Web サーバーで更新された画像を確認し、これらの新しい画像を保存する必要があります。

wwwフォルダーに書き込めないことがわかりました.phonegapは新しい画像をドキュメントフォルダー(fileSystem.root.fullPath)に保存しました。

しかし、どうすれば初期画像を www/files からドキュメント フォルダに転送できますか?

また

インストール時または初回実​​行時にドキュメント フォルダに直接保存する方法はありますか?

このシナリオの良い習慣はありますか?

ありがとう

4

1 に答える 1

-1

ファイルとディレクトリに関するphonegapドキュメントを読むと、ファイルとディレクトリをコピーするために使用されたcopyToメソッドの詳細がわかります。

copyTo

ディレクトリをファイルシステム上の別の場所にコピーします。次のことを試みるとエラーになります。

ディレクトリをそれ自体の内部に任意の深さでコピーします。現在の名前とは異なる名前が指定されていない場合は、ディレクトリをその親にコピーします。ディレクトリのコピーは常に再帰的です。つまり、ディレクトリのすべての内容をコピーします。

パラメータ

  • parent-ディレクトリのコピー先の親ディレクトリ。(DirectoryEntry)
  • newName-ディレクトリの新しい名前。指定しない場合、デフォルトで現在の名前になります。(DOMString)
  • successCallback-新しいディレクトリのDirectoryEntryオブジェクトで呼び出されるコールバック。(関数)
  • errorCallback-基になるディレクトリをコピーしようとしたときにエラーが発生した場合に呼び出されるコールバック。FileErrorオブジェクトで呼び出されます。(働き)

簡単な例

function win(entry) {
    console.log("New Path: " + entry.fullPath);
}

function fail(error) {
    alert(error.code);
}

function copyDir(entry) {
    var parent = document.getElementById('parent').value,
        parentName = parent.substring(parent.lastIndexOf('/')+1),
        newName = document.getElementById('newName').value,
        parentEntry = new DirectoryEntry(parentName, parent);

    // copy the directory to a new directory and rename it
    entry.copyTo(parentEntry, newName, success, fail);
}

OnDeviceReadyメソッドで、ファイルフォルダがドキュメントディレクトリに存在するかどうかを確認します。存在しない場合は、上記のコードを実行してwww/filesフォルダをドキュメントディレクトリにコピーします。

于 2012-11-22T13:40:58.083 に答える