Files
learning-system-mobile/utils/upload.js
2022-05-29 18:59:24 +08:00

86 lines
1.7 KiB
JavaScript

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
}