二进制图片上传七牛

在taro-UI升级到最新版本之后,使用UI上传组件的file被转换成blob形式,与以前版本格式不同

所以要把Blob格式转换成file的形式

let file = this.files[0];
let reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onload = function (e) {
let result = e.target.result;
// let blob = new Blob([result]);//存储二进制数据
// let url = URL.createObjectURL(blob);//生成本地图片地址用于图片预览
let request = new XMLHttpRequest();
request.onreadystatechange = function () {
if (request.readyState === 4) {
if (request.status === 200) {

Taro.showToast({
'title': '上传成功',
icon: 'none',
duration: 2000
})


} else {

Taro.showToast({
'title': '上传失败',
icon: 'none',
duration: 2000
})


}
} else {
console.log('others')
}
}
request.open('PUT', host);
request.setRequestHeader('Content-Type', 'application/octet-stream');
request.send(result);
}

猜你喜欢

转载自www.cnblogs.com/0828-li/p/10537658.html