feat: 附件上传显示文件名问题
parent
2659165220
commit
adddc61dc2
|
|
@ -95,7 +95,7 @@ const uploadList = ref<UploadUserFile[]>([])
|
|||
const fileList = ref<UploadUserFile[]>([])
|
||||
const uploadNumber = ref<number>(0)
|
||||
|
||||
const { uploadUrl, httpRequest } = useUpload()
|
||||
const { uploadUrl, httpRequest } = useUpload(true)
|
||||
|
||||
// 文件上传之前判断
|
||||
const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => {
|
||||
|
|
|
|||
|
|
@ -9,8 +9,12 @@ import axios from 'axios'
|
|||
export const getUploadUrl = (): string => {
|
||||
return import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_URL + '/infra/file/upload'
|
||||
}
|
||||
|
||||
export const useUpload = () => {
|
||||
/**
|
||||
* 上传文件
|
||||
* @param isAutoGenerateFileName 是否自动生成文件名称
|
||||
* @returns
|
||||
*/
|
||||
export const useUpload = (isAutoGenerateFileName : boolean) => {
|
||||
// 后端上传地址
|
||||
const uploadUrl = getUploadUrl()
|
||||
// 是否使用前端直连上传
|
||||
|
|
@ -20,7 +24,7 @@ export const useUpload = () => {
|
|||
// 模式一:前端上传
|
||||
if (isClientUpload) {
|
||||
// 1.1 生成文件名称
|
||||
const fileName = await generateFileName(options.file)
|
||||
const fileName = isAutoGenerateFileName? await generateFileName(options.file) : options.file.name
|
||||
// 1.2 获取文件预签名地址
|
||||
const presignedInfo = await FileApi.getFilePresignedUrl(fileName)
|
||||
// 1.3 上传文件(不能使用 ElUpload 的 ajaxUpload 方法的原因:其使用的是 FormData 上传,Minio 不支持)
|
||||
|
|
@ -40,7 +44,7 @@ export const useUpload = () => {
|
|||
// 模式二:后端上传
|
||||
// 重写 el-upload httpRequest 文件上传成功会走成功的钩子,失败走失败的钩子
|
||||
return new Promise((resolve, reject) => {
|
||||
FileApi.updateFile({ file: options.file })
|
||||
FileApi.updateFile({ file: options.file,path: isAutoGenerateFileName ? '' :options.file.name })
|
||||
.then((res) => {
|
||||
if (res.code === 0) {
|
||||
resolve(res)
|
||||
|
|
|
|||
Loading…
Reference in New Issue