import config from '@/config/index.js' import {getToken} from '@/utils/token.js' function chooseImg(count, success) { //console.log(count) uni.chooseImage({ count: count, sizeType: ['compressed'], success: res => { // console.log(res) // console.log(res.tempFilePaths) uploadFiles(res.tempFilePaths,success) } }) } async function uploadFiles(paths,success) { uni.showLoading({ title: '正在上传' }) for (let path of paths) { try { const uploadData = await uploadFile(path) //console.log(uploadData) success(uploadData) } catch(err) { //console.log(err) uni.showToast({ title:err||'上传失败', icon:'error', mask:true }) break; } } uni.hideLoading() } /** * 只支持通过chooseImg选择返回的path * @param {Object} path * @param {Object} data */ function uploadFile(path,data) { return new Promise((resolve, reject) => { let a = uni.uploadFile({ header: { 'XBOE-Access-Token': getToken() }, url: config.apiBaseUrl+'/xboe/sys/xuploader/file/upload', // 仅为示例,非真实的接口地址 filePath: path, name: 'file', formData: data, success: (res) => { resolve(JSON.parse(res.data)); } }); }) } /** * 通过文件对象上传 * @param {Object} file * @param {Object} data */ function uploadFileObject(file,data) { return new Promise((resolve, reject) => { let a = uni.uploadFile({ header: { 'XBOE-Access-Token': getToken() }, url: config.apiBaseUrl+'/xboe/sys/xuploader/file/upload', // 仅为示例,非真实的接口地址 file: file, name: 'file', formData: data, success: (res) => { resolve(JSON.parse(res.data)); } }); }) } module.exports = { uploadFile, uploadFileObject }