先写一个uploadImg.js
//单文件上传并返回地址
export function singleUpload(upload) {
uni.chooseImage({
count: 1,
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
complete(res) {
if (res.errMsg.indexOf("ok")>-1) { //判断ok是否存在
const tempFilePaths = res.tempFilePaths;
const uploadTask = uni.uploadFile({
url: getApp().globalData.devBaseUrlSwj +
'/api/file/upload/uploadProductImgForWeb', //上传的服务器地址
filePath: tempFilePaths[0],
name: 'file',
success: function(uploadFileRes) {
upload(JSON.parse(uploadFileRes.data).data);
}
});
}
}
});
}
在vue代码里调用
1.先引入js
import { singleUpload } from '@/utils/uploadImg'
2.定义一个方法,用btn调用
cardZ() { //获取身份证正面
singleUpload(this.uploadZ); //把一个函数作为参数
},
uploadZ(path) { //上传图片的回调函数
console.log(path); //上传文件的返回的地址
},