1 2 3 4

JS关于导出文件流方法封装的使用

如果需要频繁地在JavaScript中导出文件流,可以将上述的方法封装为函数,以便在不同的代码中调用。

/**
 * 导出文件
 * @param {string|Uint8Array} data - 文件内容
 * @param {string} fileName - 文件名称
 * @param {string} type - MIME类型,例如:'text/plain'、'application/octet-stream'
 */
function downloadFile(data, fileName, type) {
  const blob = new Blob([data], { type });
  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);
}

使用时只需要调用该函数,并传入相应的参数即可。

例如导出一个JSON文件:

const data = { name: 'foo', age: 20 };
const fileName = 'example.json';
downloadFile(JSON.stringify(data), fileName, 'application/json');

又例如导出一个PDF文件:

const data = getPDFData(); // 获取PDF文件内容
const fileName = 'example.pdf';
downloadFile(data, fileName, 'application/pdf');

通过封装函数来导出文件流可以简化代码,提高复用性。

posted @ 2023-03-09 14:29  无序  阅读(282)  评论(0编辑  收藏  举报