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');
通过封装函数来导出文件流可以简化代码,提高复用性。