ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript はローカル ファイルに直接書き込むことができますか? できない場合、ダウンロード可能なファイルをどのように作成できますか?
JavaScript はファイルに直接書き込めますか?
ユーザーは、コンソールに出力せずに JavaScript を使用して既存のテキスト ファイルにデータを書き込もうとします。 。 JavaScript が提供するファイル操作機能は限られていますが、セキュリティ上の理由からローカル ファイルに直接書き込むことはできません。
ただし、JavaScript は Blob および URL.createObjectURL API を使用してブラウザ内でファイルを作成できます。これにより、従来のテキスト ファイルに似たダウンロード可能なファイルを生成できます。残念ながら、これらのファイルはユーザーのローカル ストレージに直接保存できません。
ダウンロード可能なファイルの作成
次のコードは、JavaScript を使用してダウンロード可能なファイルを作成する方法を示しています。
var textFile = null; var makeTextFile = function (text) { var data = new Blob([text], { type: 'text/plain' }); if (textFile !== null) { window.URL.revokeObjectURL(textFile); } textFile = window.URL.createObjectURL(data); // Returns a URL that can be used as a link for downloading. return textFile; };
ファイルのシミュレートダウンロード
ダウンロードをすぐに開始したい場合は、マウス イベントを使用してユーザーによるリンクのクリックをシミュレートできます。
var create = document.getElementById('create'); var textbox = document.getElementById('textbox'); create.addEventListener('click', function () { var link = document.createElement('a'); link.setAttribute('download', 'info.txt'); link.href = makeTextFile(textbox.value); document.body.appendChild(link); // Wait for the link to be added to the document. window.requestAnimationFrame(function () { var event = new MouseEvent('click'); link.dispatchEvent(event); document.body.removeChild(link); }); }, false);
結論
JavaScript はローカル ファイルに直接書き込むことはできませんが、ブラウザ内でダウンロード可能なファイルを作成するメカニズムを提供します。これらの技術により、開発者はユーザーのセキュリティを損なうことなく動的ファイル生成機能を提供できるようになります。
以上がJavaScript はローカル ファイルに直接書き込むことができますか? できない場合、ダウンロード可能なファイルをどのように作成できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。