由于需要上传的图片不需要选择图片,所以想绕过chooseImage,然后通过自己生成一个图片blob地址,然后再uploadFile的时候没有文件的后缀名,这里要怎么搞呢
先生成一个blob地址
var self = this
var xhr = new XMLHttpRequest();
var timestamp = new Date().valueOf();
var imgNameArr = this.identifyPictureUrl.split(".");
var imgName = imgNameArr[imgNameArr.length - 1];
xhr.open("GET", this.identifyPictureUrl);
xhr.responseType = "blob"; //二进制文件
xhr.onload = function() {
if (this.status === 200) {
var data = xhr.response;
var file = new File([data], timestamp + "." + imgName, {
type: "image/jpeg",
})
var blobUrl = window.URL.createObjectURL(file);
self.handleFaceRecognition(blobUrl);
}
};
xhr.send();
再使用uploadFile上传
uni.uploadFile({
url: 'https://unidemo.dcloud.net.cn/upload',
filePath: blobUrl,
fileType: 'image',
name: 'file',
success: (res) => {
console.log('uploadImage success, res is:', res)
uni.showToast({
title: '上传成功',
icon: 'success',
duration: 1000
})
// this.imageSrc = imageSrc
},
fail: (err) => {
console.log('uploadImage fail', err);
uni.showModal({
content: err.errMsg,
showCancel: false
});
}
});
是哪里有问题嘛 新手刚用,请教一下各位大佬