Javascriptでテキストファイルを出力する方法

私自身、Blobを理解していません。よってコードはコピペです。そして少し変更して任意の文章を出力しました。

let blob = new Blob(['あいうえお'],{type:"text/plan"});
let link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = '作ったファイル.txt';
link.click();

上記のコード少し修正しました。

let array = [
"おはようございます。\n",
"こんにちは\n",
"こんばんは\n",
"おやすみなさい\n",
];
let blob = new Blob(array,{type:"text/plan"});
let link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = '作ったファイル.txt';
link.click();

「\n」コードを付けないと連結されてしまいます。
「new Blob」の第一引数は配列のようです。ここに「let str = “おはよう”;」入れても無駄でした。

ちなみに次のように書けばHTMLを出力できます。

let array = [
"<h2>挨拶</h2>\n",
"<ul>\n",
"<li>おはよう</li>\n",
"<li>こんにちは</li>\n",
"<li>こんばんは</li>\n",
"<ul>\n",
];
let blob = new Blob(array,{type:"text/html"});
let link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = '作ったファイル.html';
link.click();

第二引数のMIMEタイプはこちらで確認可能です。
https://developer.mozilla.org/ja/docs/Web/HTTP/Basics_of_HTTP/MIME_types

いろいろなものに応用できそうなコードですね。ありがとうございます。

スポンサーリンク
投稿記事
スポンサーリンク
OKE2GOU