前提・実現したいこと
全体としてはHyperappによるクラウドサービスを作っており,そのうちUIの調整部分を今作業しています。
その中で,リンクをクリックすると,サーバー上のファイルの内容に基づいたテキストファイル
(最終的には置換処理などを行った上で出力したい)をダウンロードする機能を実装しようとしています。
サーバーからのファイルの呼び出しはaxiosで行っています。
発生している問題
chromeでコードを実行すると,test.txtのダウンロード自体はできるのですが,
ファイルを開いてみると,想定している「01output.txt」の内容ではなく,
エントリーポイント?を記述している「index.html」の内容になってしまいます。
console.logでは,ちゃんとcontentの内容が表示されているのに,
なぜダウンロードされるファイルには反映されないのかわからず,ハマってしまっています。
chrome特有の設定が何かいるのでしょうか?
該当のソースコード
typescript
1<a href = "#" id ="download" download="test.txt" 2 onclick={()=> { 3 const url = `/templates/01output.txt`; 4 axios.get(url).then(res => { 5 const content = res.data 6 const blob = new Blob([ content ], { type : "text/plain" }); 7 if (window.navigator.msSaveBlob) { 8 window.navigator.msSaveBlob(blob, "ie.txt");} 9 else { 10 console.log(content); 11 document.getElementById("download").href = window.URL.createObjectURL(blob); 12 } 13 }); 14 }} 15 > 16 書面をダウンロード 17 </a>
試したこと
edgeでは,ie.txtという名前でダウンロードができ,内容は想定どおり01output.txtの内容になっていました。
firefoxでは,test.txtがダウンロードされ,内容も想定どおり01output.txtの内容になっていました。
補足情報(FW/ツールのバージョンなど)
chrome( 69.0.3497.100(Official Build) (64 ビット))
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/24 03:36