uniapp官方API文档:https://uniapp.dcloud.net.cn/api/media/image.html#chooseimage
代码在后面
chooseimage的succes函数中的res.tempFilePaths,是图片的一个临时路径,没法直接传给后端接口使用,且接口需要的是base64格式的
getImageInfo的src属性可以接受临时的文件路径,且会返回图片的本地路径path,用这个path通过一个函数转为base64格式即可
用这个插件,可以快速将path路径转为base64格式,具体使用看插件文档
// 需要导入
import { pathToBase64 } from 'image-tools'
uni.chooseImage({
count: 1,
sourceType: ['camera'],
success: function(res) {
uni.getImageInfo({
src: res.tempFilePaths[0],
success: function(path) {
pathToBase64(path.path)
.then(async base64 => {
let {
data: res2
} = await that.$http.post('你的接口', {
// 接口需要的请求体参数
})
if (res2.success) {
if (res2.message) {
}
} else {
this.$tip.toast(res2.message)
}
})
.catch(error => {
console.error('错误信息', error)
})
}
})
},
fail: function(err) {
this.$tip.toast("相机启动失败")
}
})