上传图片
选择从哪里上传图片
HTML
<view class="recode_upload_item" bindtap="chooseImageTap">
<text class="iconfont icon-zengjia"></text>
</view>
JS
chooseImageTap(e) {
let { index, status } = e.currentTarget.dataset;
var that = this;
wx.showActionSheet({
itemList: ['从相册中选择', '拍照'],
itemColor: "#00000",
success: function (res) {
if (!res.cancel) {
if (res.tapIndex == 0) {
that.chooseWxImage('album', index, status)
} else if (res.tapIndex == 1) {
that.chooseWxImage('camera', index, status)
}
}
}
})
},
调用上传方法
chooseWxImage: function (type, index, status) {
var that = this;
var imgsPaths = that.data.imgs;
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: [type],
success: function (res) {
that.upImgs(res.tempFilePaths[0], index, status)
}
})
},
调用服务器
async upImgs(imgurl, index, status) {
var that = this;
let data = {
token: '',
img: imgurl
}
let imgList = []
const res = await uploadrequest({ url: '/miniprogram/upload', data })
let result = JSON.parse(res)
if (result.code === 200) {
wx.showToast({
title: '上传成功',
icon: 'success',
image: '',
duration: 1500,
mask: true,
success: (result) => {
},
fail: () => { },
complete: () => { }
});
imgList.push({
file_url: result.data.url
})
} else {
wx.showToast({
title: '上传失败',
icon: 'none',
image: '',
duration: 1500,
mask: false,
success: (result) => {
},
fail: () => { },
complete: () => { }
});
}
},