js导出文本为文件

76 阅读1分钟
function downloadTextFile(text, fileName) {
  const blob = new Blob([text], { type: 'text/plain' });
  const url = URL.createObjectURL(blob);
  
  const link = document.createElement('a');
  link.href = url;
  link.download = fileName;
  
  document.body.appendChild(link);
  link.click();
  
  document.body.removeChild(link);
  URL.revokeObjectURL(url);
}

创建了一个 Blob 对象,将文本内容作为 Blob 的数据,并指定 MIME 类型为 'text/plain',表示纯文本类型

使用 URL.createObjectURL() 方法创建一个临时的 URL,将 Blob 对象与该 URL 相关联

创建一个 <a> 元素,设置其 href 属性为该临时 URL,download 属性为文件名,以便浏览器将其作为下载链接

这里其实不需要插入到body中,直接调用click事件就行

最后,使用 URL.revokeObjectURL() 方法释放创建的临时 URL