csy_21
1、Excel 下载乱码
// 请求类型responseType: "arraybuffer"
const fileData = await downLoadFile([data], { responseType: "arraybuffer"})
const blob = new Blob([fileData], { type: "application/octet-stream" })
const _URL = window.URL || window.webkitURL
const url = _URL.createObjectURL(blob)
let dom = document.createElement("a")
dom.style.display = "none"
dom.href = url
dom.setAttribute("download", [fileName.Suffix])
document.body.appendChild(dom)
dom.click()
dom.remove()
2、文件上传进度显示
开始看到这个需求,觉得这个问题很复杂,查阅资料后发现很简单,随手记录一下:
const _this = this
const formData = new FormData()
formData.append("File", [File])
const config = {
headers: { "Content-Type": "multipart/form-data" },
timeout: 1800000,
onUploadProgress: (e) => {
var rate = e.loaded / e.total
if(rate < 1) _this.[updateRate] = rate // 当rate为1时 文件上传完成 但后台未处理完
},
}
const res = await [action](formData, config)