利用uni官方API—chooseImage实现
<button @click=(Uploadmsg)>点击打开相册与拍照</button>
const Uploadmsg = () => {
// 获取相册
uni.chooseImage({
count: 1, // 默认9,设置图片的数量
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: async (res) => {
console.log(res.tempFilePaths[0]);
const res1 = await uploadimg(res.tempFilePaths[0])
console.log(res1);
}
})
}
封装的图片上传API
const baseURL = 'http://xxxx'
// 请求图像识别地址
const ORCbaseURL = 'http://xxx'
//上传图片
export const uploadimg = async (path) => {
var result = null
await uni.uploadFile({
url: baseURL + '/app-api/ffd/v1/upload/image',
filePath: path,
// 文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容
name: 'file',
header: {
'content-type': "multipart/form-data",
'huoli-token': uni.getStorageSync('huoli-token') ? uni.getStorageSync(
'huoli-token') : '',
'adType': 1
},
data: {
'file': path
},
}).then(async (res) => {
// uni.uploadFile返回来的结果默认是JSON格式字符串,需要用JSON.parse转换成js对象
// console.log('上传数据转换', JSON.parse(res.data))
let imgurl = JSON.parse(res.data)
let data = imgurl.data
let path = data.path
console.log(path)
result = path
return (path)
}).catch((error) => {
console.log('失败', error)
})
return result
}