后台需要出一个接口,把七牛的token给到前端,上传的时候,会用到
var qiniuUploader = require('../../libs/qiniuUploader.js');
let QiniuToken='';
onLoad(){
this.getQiniuToken();//先获取七牛的token
}
async getQiniuToken(){//获取七牛的uptoken
const loginResult =await get('api_v2/upload/getToken', {})
if (loginResult.code==200) {
let data=loginResult.data;
QiniuToken=data.uptoken;
}
},
chooseImg(){//上传图片
let that=this;
wx.chooseImage({//从本地相册选择图片或使用相机拍照
count:1, // 默认9
sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
success:function (res) {
// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
var tempFilePaths = res.tempFilePaths;
that.uploadToQiniu(tempFilePaths[0]);
}
})
},
uploadToQiniu(filePath){//图片直接上传到七牛云,获取七牛云链接
var that =this;
wx.uploadFile({
url:'https://up-z0.qiniup.com',//分华北区,华东区之类的,大家自己注意下
name:'file',
filePath: filePath,
header: {
"Content-Type":"multipart/form-data"
},
formData: {
token: QiniuToken,
},
success:function(res) {
let data = JSON.parse(res.data);
that.userphoto=data.url;//拿到七牛云上的图片地址
},
fail:function(res) {
console.log(res)
}
});
},