/**
* blob 数据保存为文件
* @param {*} blobData blob数据
* @param {string} fileName 保存文件名、在mac上,文件名必须要写后缀,要不然下载会有问题、在window上可以忽略
*/
export function blobSaveFile(blobData, fileName) {
// const contentType = mimeType[extension]
// if (contentType === undefined) {
// console.warn(`没有找到${extension}类型的文件`)
// }
fileName = decodeURI(fileName)
const blob = new Blob([blobData] /* , { type: contentType } */)
if ('msSaveOrOpenBlob' in window.navigator) {
// ie使用的下载方式
return window.navigator.msSaveOrOpenBlob(blob, fileName)
}
const objectUrl = URL.createObjectURL(blob)
const a = document.createElement('a')
a.href = objectUrl
// 注意、在mac上,文件名必须要写后缀,要不然下载会有问题、在window上可以忽略
a.download = fileName
// 下面这个写法兼容火狐
a.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }))
window.URL.revokeObjectURL(objectUrl)
}
blob 数据保存为文件
最新推荐文章于 2024-06-17 14:50:44 发布