This commit is contained in:
Luk
2025-06-09 21:18:38 +08:00
parent 3e52b5a9f4
commit fc146dc10d
2 changed files with 44 additions and 7 deletions

View File

@@ -39,15 +39,19 @@ module.exports = {
is_text_file (fileName = '') {
const ext = /\./.test(fileName) ? fileName.split('.').pop().toLowerCase() : ''
return (wo.envar.textExtensionList || ['txt', 'text']).includes(ext)
return wo.envar.textExtensionList?.includes?.(ext)
},
is_image_file (fileName = '') {
const ext = /\./.test(fileName) ? fileName.split('.').pop().toLowerCase() : ''
return (wo.envar.imageExtensionList || ['jpg', 'jpeg', 'png', 'gif', 'webp', 'image']).includes(ext)
return wo.envar.imageExtensionList?.includes?.(ext)
},
is_video_file (fileName = '') {
const ext = /\./.test(fileName) ? fileName.split('.').pop().toLowerCase() : ''
return (wo.envar.videoExtensionList || ['avi', 'mp4', 'mov', 'wmv', 'video']).includes(ext)
return wo.envar.videoExtensionList?.includes?.(ext)
},
is_audio_file (fileName = '') {
const ext = /\./.test(fileName) ? fileName.split('.').pop().toLowerCase() : ''
return wo.envar.audioExtensionList?.includes?.(ext)
},
thisPage () {
@@ -343,7 +347,13 @@ module.exports = {
filePath = fileDragged.filePath
filePicked = fileDragged
if (!mediaType) {
mediaType = this.is_image_file(fileDragged.name) ? 'image' : this.is_video_file(fileDragged.name) ? 'video' : 'file'
mediaType = this.is_image_file(fileDragged.name)
? 'image'
: this.is_video_file(fileDragged.name)
? 'video'
: this.is_audio_file(fileDragged.name)
? 'audio'
: 'file'
}
} else if (mediaType === 'image') {
let [errorChoose, { tempFilePaths, tempFiles } = {}] = await uni.chooseImage({ count, sizeType, sourceType })
@@ -367,6 +377,27 @@ module.exports = {
fileSize = size
filePicked = tempFile
filePath = tempFilePath
} else if (mediaType === 'audio') {
// #ifdef WEB
// https://uniapp.dcloud.net.cn/api/media/file.html
let [errorChoose, { tempFilePaths, tempFiles } = {}] = await uni.chooseFile({
count,
extension: wo.envar.audioExtensionList,
type: undefined,
}) // 20240429 但是测试下来 extension 参数无效
if (errorChoose) {
return {
_state: 'CER_FAIL_CHOOSE',
_msg: '', // { zhCN: '文件选择失败。请稍后再试,或向客服投诉。', enUS: 'File choose failed. Please try again later, or report to customer service.' },
}
}
fileSize = tempFiles?.[0]?.size
filePicked = tempFiles?.[0]
filePath = tempFilePaths?.[0]
// #endif
// #ifndef WEB
return { _state: 'UNSUPPORTED_FILETYPE', _msg: { zhCN: '请切换到网页端上传文件!', enUS: 'Please switch to WebApp to upload files.' } }
// #endif
} else {
// #ifdef WEB
// https://uniapp.dcloud.net.cn/api/media/file.html