分享一下,新写的uniapp使用七牛云上传,网上好多坑,可气死我了
uni.chooseImage({
count: 1, //默认9
sizeType: ["original", "compressed"], //可以指定是原图还是压缩图,默认二者都有
sourceType: ["album", "camera"], //从相册选择
success: function (res) {
uni.showLoading({ title: "", mask: true });
uni.request({
url: "",//请求七牛云token的接口
data: {},
/* 请求传参 */
header: _header,//请求七牛云token的接口需要的token
/* 请求头 */
method: "GET",
success: (suc1) => {
let img = res.tempFilePaths[0];//拿到里面的
//下面的key是自己拿时间戳和随机数组成的key值
let key = new Date().getTime() + randomWord(true, 3, 32);
uni.uploadFile({
url: "https://up.qiniup.com",//华东地区上传
filePath: img,
name: 'file',
method: "POST",
formData: {
'key': key,//key值
'token': suc1.data.data //七牛云token值
},
success: uploadFileRes => {
//uploadFileRes 返回了data是一个json字符串
//拿到里面的key拼接上域名,再反出去就ok了
let strToObj=JSON.parse(uploadFileRes.data),
backUrl= 自己的域名+strToObj.key;
data.success(backUrl);//反出去链接
uni.hideLoading();
},
fail: fail => {
uni.showToast({ title: "网络错误", icon: "none" });
data.fail(fail);//反出去错误信息
uni.hideLoading();
}
})
}, fail: fail => {
uni.showToast({ title: "网络错误", icon: "none" });
uni.hideLoading();
}
})
},
});
七牛云上传地区
uploadURL = 'https://up.qiniup.com'; //代表华东区域
uploadURL = 'https://up-z1.qiniup.com'; //代表华北区域
uploadURL = 'https://up-z2.qiniup.com'; //代表华南区域
uploadURL = 'https://up-as0.qiniup.com'; //代表东南亚区域
uploadURL = 'https://up-na0.qiniup.com'; //代表北美区域