//获取图片的服务器url地址 方法调用
if(this.fileUrlList.length>0){
for(var i=0; i<this.fileUrlList.length;i++){
this.getBase64Image(this.fileUrlList[i].url);
}
}
//url转base64
getBase64Image(imgUrl) {
const that = this;
window.URL = window.URL || window.webkitURL;
var xhr = new XMLHttpRequest();
xhr.open("get", imgUrl, true);
// 至关重要
xhr.responseType = "blob";
xhr.onload = function () {
if (this.status == 200) {
//得到一个blob对象
var blob = this.response;
// 至关重要
let oFileReader = new FileReader();
oFileReader.onloadend = function (e) {
// 此处拿到的已经是 base64的图片了
let base64 = e.target.result;
//base64文件
console.log(base64)
var imageTypeArr = blob.type.split("/");
var imageType = 'image.png'
if(imageTypeArr && imageTypeArr.length > 1) {
imageType='image.'+blob.type.split("/")[1];
}
//base64转换为file格式的方法处理
var newFile = that.dataURLtoFile(base64,imageType);
console.log(newFile)
};
oFileReader.readAsDataURL(blob);
}
}
xhr.send();
},
dataURLtoFile(dataurl, filename) {
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 File([u8arr], filename, {type:mime});
},
前端服务器图片地址转换为base64,转为文件类型
最新推荐文章于 2024-05-10 17:58:52 发布