vue 文件流下载
/**
* 文件转为文件流
* @param {file} file //文件
*/
export function getFileBlob(file) {
var dataUrl
var reader = new FileReader()
reader.readAsDataURL(file) // 读取文件内容,读取完成,result属性中将包含一个data: URL格式的字符串以表示所读取文件的内容。
// fr.readAsBinaryString(file) 读取文件内容,读取完成,result属性中将包含所读取文件的原始二进制数据。
// fr.readAsText(file) 读取文件内容,读取完成,result属性中将包含一个字符串以表示所读取的文件内容。
// fr.readAsArrayBuffer(file) 读取文件内容,读取完成,result 属性中保存的将是被读取文件的 ArrayBuffer 数据对象.
reader.onload = function () { // 文件读取成功回调
dataUrl = reader.result // result属性为data:URL格式,与读取方式有关
// 返回地址url
// return dataUrl
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
// var blobFile = new Blob([dataUrl])
const blobFile = new Blob([file])
const fileName = file.name
window.navigator.msSaveOrOpenBlob(blobFile, fileName)
} else {
const elink = document.createElement('a')
elink.download = file.name
elink.style.display = 'none'
elink.href = dataUrl
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href) // 释放URL 对象
document.body.removeChild(elink)
}
}
}
本文出自于https://www.cnblogs.com/sws-kevin/p/15267369.html 转载请注明出处,否则会追究。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!