图片由file格式转为base64或二进制数据流
file转为base64并上传
var reader = new FileReader();
reader.readAsDataURL(file);
let image;
let _this = this;
reader.onload = async function (e) {
image = reader.result;
console.log(image);
let image1=_this.dataURLtoBlob(image)
var formData = new FormData();
formData.append("file", image1);
console.log(formData);
_this.$http
.post(`接口地址`, formData)
.then((result) => {
console.log(result);
})
.catch((err) => {
console.log(err);
});
};
file转为二进制数据流
let blob = new Blob([file], {
type: "application/vnd.ms-excel;charset=utf-8",
});
console.log(blob);
base64转为二进制数据流
dataURLtoBlob(dataurl) {
var arr = dataurl.split(","),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {
type: mime,
});
},