1. ホーム
  2. javascript

[解決済み] サーバーを介さずに、ユーザーがダウンロードできるファイルをメモリ上に作成するにはどうすればよいですか?

2022-03-17 12:54:47

質問

クライアント側でテキストファイルを作成し、サーバーと一切やりとりせずに、ユーザーにダウンロードを促す方法はありますか? 相手のマシンに直接書き込むことができないのは知っていますが(セキュリティなど)、ファイルを作成して保存するように促すことはできますか?

どのように解決するのですか?

データURIを使用することができます。 ブラウザのサポートは様々です。 ウィキペディア . 例

<a href="data:application/octet-stream;charset=utf-16le;base64,//5mAG8AbwAgAGIAYQByAAoA">text file</a>

オクテットストリームは、ダウンロードのプロンプトを強制的に表示させるためのものです。 そうでなければ、おそらくブラウザで開くことになるでしょう。

CSVの場合、使用できます。

<a href="data:application/octet-stream,field1%2Cfield2%0Afoo%2Cbar%0Agoo%2Cgai%0A">CSV Octet</a>

を試してみてください。 jsFiddleデモ .