2026-06-25 20:26:35 +08:00

62 lines
1.3 KiB
JavaScript

import request from '@/utils/request'
import { uuid } from '@/utils'
/**
* 随机创建文件名称.
*/
const radmonFilename = (filename) => {
const suffix = filename ? filename.substring(filename.lastIndexOf('.')) : ''
return `manager-${uuid()}${suffix}`
}
/**
* 获取url.
*/
const getAccessImgUrl = (key) => {
if (!key) {
return ''
}
if (/^https?:\/\//i.test(key)) {
return key
}
if (key.startsWith('/')) {
return `${process.env.VUE_APP_OSS_URL}${key}`
}
return `${process.env.VUE_APP_OSS_URL}/${key}`
}
/**
* 简单上传
* @param {*} fileObj 文件对象
*/
const simpleUploadFlie = (fileObj, dir) => {
return new Promise((resolve, reject) => {
const filename = fileObj.customFilename || radmonFilename(fileObj.file.name)
const key = `${dir || 'other'}/${filename}`
const formData = new FormData()
formData.append('file', fileObj.file)
formData.append('key', key)
request({
url: '/ali-yun/oss/upload',
method: 'post',
data: formData
}).then(res => {
const body = res.body || {}
resolve({
name: body.name || key,
url: body.url || getAccessImgUrl(body.name || key),
res: body.res || { status: 200 }
})
}).catch(er => {
console.error(er)
reject(er)
})
})
}
export {
radmonFilename,
simpleUploadFlie,
getAccessImgUrl
}