获取到的文件格式不符合要去需要进行转换
function parseFile(src, name) {
// let that = this
/**
* [myBlob] 是一个数组,包含了要放入文件的二进制数据。
name 参数是文件的名称。
{ type: myBlob.type } 指定文件类型,使用从 Blob 对象获取的类型。
*/
return new Promise((resolve, reject) => {
let xhr = new XMLHttpRequest()
xhr.open('GET', src, true)
xhr.responseType = 'blob' //将响应类型设置为 Blob,以便于处理二进制数据。
xhr.onload = function(e) {
if (this.status == 200) {
let myBlob = this.response
let files = new window.File(
[myBlob],
name, {
type: myBlob.type
}
) // myBlob.type 自定义文件名
resolve(files)
} else {
reject(false)
}
}
xhr.send()
})
}
新增图片的方法
调用格式转换的方法
// 新增图片
const afterRead = async (event) => {
console.log(event, "event");
const file = event.file[0];
let blob = await parseFile(file.url, file.name)//将获得的文件进行格式转换
Upload(blob, file.name);
}