创建一个转blob的函数
//blob函数
dataURLToBlob(cropperData) {
let arr = cropperData.split(",");
let mime = arr[0].match(/:(.*?);/)[1];
let bstr = atob(arr[1]);
let n = bstr.length;
let u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: mime });
},
在需要转换的地方进行转换
let ser = this.dataURLToBlob(cropperData);
如果是接口上传需要,上传二进制文件流,可以创建ForData()对象来转成二进制
//OAR识别
uploadImg() {
let formData = new FormData();
console.log(this.cropper.getCroppedCanvas().toDataURL("image/jpeg"));
let cropperData = this.cropper
.getCroppedCanvas({
imageSmoothingQuality: "high"
})
.toDataURL("image/jpeg");
let ser = this.dataURLToBlob(cropperData);
formData.append("file", ser);
formData.append("symbol", this.symbol);
this.$http({
url: this.$http.adornUrl("/paddle-ocr/iyImage"),
method: "post",
data: formData
}).then(({ data }) => {
this.discerncon = data.data;
this.symbol = "";
});
}