0

ハードドライブにテキストファイルを作成するためのコードを誰か教えてください

結果はhtmlファイルである必要があります.htmlファイルをダブルクリックすると、ハードドライブ(ローカル)の特定のパスにテキストファイルを作成する必要があります。

ありがとうございました。

4

2 に答える 2

1

ブラウザの通常の HTML ページの Javascript は、セキュリティ上の理由から、ハードディスク上の選択したパスに直接アクセスすることはできません。

サンドボックス化されたファイル システムにいくつかの機能を提供する新しいブラウザーのやや実験的なFileSystem APIですが、これらの API でニーズが満たされるかどうかを確認する必要があります。

それ以外に、ビューアが承認してインストールしたブラウザ プラグインから実行するなど、セキュリティ制限を回避する何らかの方法が必要になります。

于 2012-08-27T06:55:38.110 に答える
1

Web ページがユーザーのスペース内の必要な位置にファイルを作成できないことを知るには、十分な経験がないことがわかりました。

とにかく、方法はありますが、サンドボックス、つまりブラウザによって割り当てられた予約および保護されたスペースにのみファイルを作成できます。

これは、Chrome などの最新のブラウザーでのみ可能です...そして、今のところ他には何もありません。

まず、クォータを要求する必要があります。

storageInfo.requestQuota(PERSISTENT, bytes, function(quota) {
   requestFileSystem(PERSISTENT, quota, gotQuota, errorHandler);
}, function(e) {
   alert("Couldn't request quota:" + e);
});

gotQuota成功用 ( ) と失敗用( )の 2 つのコールバック関数を定義する必要がありますerrorHandler

function gotQuota(fs) {
    // Creates a file
    fs.root.getFile('file.txt', {create: true}, function(fileEntry) {
       fileEntry.createWriter(function(fw) {
           fileWriter.onwriteend = function(e) {
               console.log("Write successful.");
           };
           fileWriter.onerror = function(e) {
               console.log("Write failed: " + e);
           };
           fw.write(new Blob(["This is the content"], {type: "text/plain"});
       });
    }, errorHandler);
}

複雑です...これらの機能の一部にはベンダーの接頭辞が付いていることに注意してください(例:webkitStorageInfo)。

参照

于 2012-08-27T07:04:43.800 に答える