FileSaver.js 导出 txt 文件

下载地址:https://github.com/eligrey/FileSaver.js/

 我们把「下载/导出」这一动作看成一个函数,这个函数通常需要两个参数:URL 和保存的文件名。其中,文件名有时可以根据 URL 自动识别,是可选项。

 因此,download 函数的签名一般形式如:

download(url,filename = AUTO)

下面👇这种情况,没有 URL,直接提供了内容,从语义上,“另存为(saveAs)”更贴近。

“另存为”(或者干脆叫“保存”)这个函数,一般的输入是文件内容和文件名,并且文件名是不可忽视的(因为没有办法自动判断)。

所以,“另存为”函数的签名常常形如:

saveAs(filename, content)

用户业务语义上的“下载”实际代码上由几个动作组成:请求 API、组装数据、弹出另存为对话框。

 

两种解决方法:
第一种:
download (downStr, fileName) {
  let url = window.URL.createObjectURL(new Blob([downStr]))
  let link = document.createElement('a')
  link.style.display = 'none'
  link.href = url
  link.setAttribute('download', `${fileName}.txt`)
  document.body.appendChild(link)
  link.click()
},
第二种:
download (downStr, fileName) {
  let FileSaver = require('file-saver')
  var url = new Blob([downStr])
  FileSaver.saveAs(url, `${fileName}.txt`)
},

 

参考文件:

https://blog.csdn.net/li29756771/article/details/84879846

 

posted @ 2021-04-07 14:46  Freya~  阅读(664)  评论(0)    收藏  举报