七牛上传图片
一、通过调用服务端接口拿到token直接上传到七牛云。
在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);
}