h5和小程序都能用,区别是使用不同的上传方法
仅分享小程序,uniapp版本
// oss上传
ossUpload(info, call) {
let that = this
let name = info.path.split("/")[info.path.split("/").length - 1]
wx.showLoading({})
wx.request({
url: that.globalData.localhost + "api/common/getOssParams",
header: {
'content-type': 'application/x-www-form-urlencoded',
'Authorization': "bearer " + wx.getStorageSync('userInfo').token
},
method: 'post',
data: {
name: name
},
success: res => {
wx.uploadFile({
url: res.data.data.OSSAddress,
filePath: info.path,
formData: {
...res.data.data,
OSSAccessKeyId: res.data.data.id,
},
method: 'POST',
name: 'file',
timeout: 5000,
success: (result) => {
call && call({
//OSSAddress 是后台返的oss域名,可以写死
url: res.data.data.OSSAddress + "/" + res.data.data.key
})
},
fail(err) {
console.log(err)
// reject(err);
},
complete() {}
})
}
})
}
使用
// 上传图片
uploadImg() {
let that = this;
let arr = []
let num = 0
wx.chooseImage({
count: 1,
success: res => {
for (let i in res.tempFiles) {
app.ossUpload(res.tempFiles[i], ret => {
arr[i] = ret.url;
num++
if (num == res.tempFiles.length) {
wx.hideLoading();
this.setData({
imgArr: arr
})
}
});
}
},
complete() {}
});
},