feat: 附件上传显示文件名问题

pull/668/head
smallNorthLee 2025-01-19 22:44:16 +08:00
parent 2659165220
commit adddc61dc2
2 changed files with 9 additions and 5 deletions

View File

@ -95,7 +95,7 @@ const uploadList = ref<UploadUserFile[]>([])
const fileList = ref<UploadUserFile[]>([]) const fileList = ref<UploadUserFile[]>([])
const uploadNumber = ref<number>(0) const uploadNumber = ref<number>(0)
const { uploadUrl, httpRequest } = useUpload() const { uploadUrl, httpRequest } = useUpload(true)
// //
const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => { const beforeUpload: UploadProps['beforeUpload'] = (file: UploadRawFile) => {

View File

@ -9,8 +9,12 @@ import axios from 'axios'
export const getUploadUrl = (): string => { export const getUploadUrl = (): string => {
return import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_URL + '/infra/file/upload' 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() const uploadUrl = getUploadUrl()
// 是否使用前端直连上传 // 是否使用前端直连上传
@ -20,7 +24,7 @@ export const useUpload = () => {
// 模式一:前端上传 // 模式一:前端上传
if (isClientUpload) { if (isClientUpload) {
// 1.1 生成文件名称 // 1.1 生成文件名称
const fileName = await generateFileName(options.file) const fileName = isAutoGenerateFileName? await generateFileName(options.file) : options.file.name
// 1.2 获取文件预签名地址 // 1.2 获取文件预签名地址
const presignedInfo = await FileApi.getFilePresignedUrl(fileName) const presignedInfo = await FileApi.getFilePresignedUrl(fileName)
// 1.3 上传文件(不能使用 ElUpload 的 ajaxUpload 方法的原因:其使用的是 FormData 上传Minio 不支持) // 1.3 上传文件(不能使用 ElUpload 的 ajaxUpload 方法的原因:其使用的是 FormData 上传Minio 不支持)
@ -40,7 +44,7 @@ export const useUpload = () => {
// 模式二:后端上传 // 模式二:后端上传
// 重写 el-upload httpRequest 文件上传成功会走成功的钩子,失败走失败的钩子 // 重写 el-upload httpRequest 文件上传成功会走成功的钩子,失败走失败的钩子
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
FileApi.updateFile({ file: options.file }) FileApi.updateFile({ file: options.file,path: isAutoGenerateFileName ? '' :options.file.name })
.then((res) => { .then((res) => {
if (res.code === 0) { if (res.code === 0) {
resolve(res) resolve(res)