2

assets/www/example/hallo.text PhoneGap -私のエラーで新しいファイルを作成する方法は"Error fileSystem"

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

function fail() {
  confirm('Error  fileSystem');
}

function gotFS(fileSystem) {
  fileSystem.root.getFile("file:///android_asset/www/example/hallo.text", {
    create: true
  }, gotFileEntry, fail);
}

function gotFileEntry(fileEntry) {
  fileEntry.createWriter(gotFileWriter, fail);
}

function gotFileWriter(writer) {
  writer.write("hallo");
}
4

2 に答える 2

2

HTML ファイル システム API は、サンドボックス化されたファイル システムで動作します。完全なファイルシステムに関して絶対パスを参照することはできません。代わりに、Web アプリのすべてのファイル システムは、デバイスの実際のファイア システム内のブラウザーによって生成されたサブディレクトリに存在します。

これはセキュリティ上の理由から意図的に行われたため、Web アプリは作成したファイルのみを上書きまたは読み取ることができます。そうしないと、Web 上のどのページでも、ハード ドライブ全体のプライベート コンテンツをすべて読み取る可能性があります。

(これらのディレクトリが存在すると仮定して) のような非修飾ファイル パスを使用するwww/example/hallo.textか、単にhallo.textサンドボックス ファイル システムにファイルを作成する必要があります。絶対file:パスは使用しないでください。

さらに、エラー関数 にfailは、エラー情報を含む引数が提供されている可能性があります。次のような関数に引数を追加して、詳細なデバッグ情報をfunction fail(error) ...出力してみてください。error

于 2012-06-26T12:34:23.193 に答える
0

まず、「あなた」が宛先フォルダーに書き込む権限を持っていることを確認してください (一部のフォルダーに書き込むには、デバイスに root 権限が必要な場合があります)。

その後、次の手順に従ってください: http://www.anddev.org/working_with_files-t115.html

于 2012-06-26T12:35:40.983 に答える