|
|
|
@ -94,9 +94,10 @@ export function exit() { |
|
|
|
/** |
|
|
|
* 文件上传 |
|
|
|
* @param {array} sourceType 上传的方式 album:相册 camera:相机 |
|
|
|
* @return {Promise} 以数组的形式返回对应的文件地址 |
|
|
|
* @param {number} count 上传的数量 |
|
|
|
* @return {Promise<string[]>} 以数组的形式返回对应的文件地址 |
|
|
|
*/ |
|
|
|
export function uploadImage(sourceType = ['album', 'camera']) { |
|
|
|
export function uploadImage(sourceType = ['album', 'camera'], count = 1) { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
uni.chooseImage({ |
|
|
|
count: 1, |
|
|
|
@ -104,24 +105,16 @@ export function uploadImage(sourceType = ['album', 'camera']) { |
|
|
|
sourceType: sourceType, |
|
|
|
success: (res) => { |
|
|
|
const tempFilePaths = res.tempFilePaths |
|
|
|
uni.uploadFile({ |
|
|
|
url: uploadUrl.image, |
|
|
|
filePath: tempFilePaths[0], |
|
|
|
name: 'image', |
|
|
|
fileType: 'image', |
|
|
|
success: (res) => { |
|
|
|
let result = JSON.parse(res.data) |
|
|
|
if (result.data) { |
|
|
|
resolve(result.data) |
|
|
|
} else { |
|
|
|
reject(result.message) |
|
|
|
} |
|
|
|
}, |
|
|
|
fail: (err) => { |
|
|
|
console.error('uploadFile error:', err) |
|
|
|
reject(err) |
|
|
|
} |
|
|
|
let cache = tempFilePaths.map((path) => { |
|
|
|
return uploadFile(path, 'image') |
|
|
|
}) |
|
|
|
Promise.all(cache) |
|
|
|
.then((res) => { |
|
|
|
resolve(res) |
|
|
|
}) |
|
|
|
.catch((err) => { |
|
|
|
reject(err) |
|
|
|
}) |
|
|
|
}, |
|
|
|
fail: (err) => { |
|
|
|
console.error('chooseImage error:', err) |
|
|
|
@ -130,3 +123,32 @@ export function uploadImage(sourceType = ['album', 'camera']) { |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 单文件上传 |
|
|
|
* @param {string} path 文件路径 |
|
|
|
* @param {string} type 文件类型 image | file,默认为image |
|
|
|
* @returns {Promise<string>} 返回单文件上传地址 |
|
|
|
*/ |
|
|
|
export function uploadFile(path, type = 'image') { |
|
|
|
return new Promise((resolve, reject) => { |
|
|
|
uni.uploadFile({ |
|
|
|
url: uploadUrl[type], |
|
|
|
filePath: path, |
|
|
|
name: type, |
|
|
|
// fileType: type,
|
|
|
|
success: (res) => { |
|
|
|
let result = JSON.parse(res.data) |
|
|
|
if (result.data) { |
|
|
|
resolve(result.data) |
|
|
|
} else { |
|
|
|
reject(result.message) |
|
|
|
} |
|
|
|
}, |
|
|
|
fail: (err) => { |
|
|
|
console.error('uploadFile error:', err) |
|
|
|
reject(err) |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |