Skip to content

Commit 89fdb5c

Browse files
committed
基础设施:前端直连上传,优先使用自定义域名
1 parent dd08fbc commit 89fdb5c

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/api/infra/file/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ export interface FilePageReqVO extends PageParam {
1010
export interface FilePresignedUrlRespVO {
1111
// 文件配置编号
1212
configId: number
13-
// 文件预签名地址
13+
// 文件上传 URL
14+
uploadUrl: string
15+
// 文件 URL
1416
url: string
1517
}
1618

src/components/UploadFile/src/useUpload.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ export const useUpload = () => {
1919
// 1.2 获取文件预签名地址
2020
const presignedInfo = await FileApi.getFilePresignedUrl(fileName)
2121
// 1.3 上传文件(不能使用ElUpload的ajaxUpload方法的原因:其使用的是FormData上传,Minio不支持)
22-
return axios.put(presignedInfo.url, options.file).then(() => {
22+
return axios.put(presignedInfo.uploadUrl, options.file).then(() => {
2323
// 1.4. 记录文件信息到后端
24-
const fileVo = createFile(presignedInfo.configId, fileName, presignedInfo.url, options.file)
24+
createFile(presignedInfo, fileName, options.file)
2525
// 通知成功,数据格式保持与后端上传的返回结果一致
26-
return { data: fileVo.url }
26+
return { data: presignedInfo.url }
2727
})
2828
} else {
2929
// 模式二:后端上传(需要增加后端身份认证请求头)
@@ -42,17 +42,15 @@ export const useUpload = () => {
4242

4343
/**
4444
* 创建文件信息
45-
* @param configId 文件配置编号
45+
* @param vo 文件预签名信息
4646
* @param name 文件名称
47-
* @param url 文件地址
4847
* @param file 文件
4948
*/
50-
function createFile(configId: number, name: string, url: string, file: UploadRawFile) {
49+
function createFile(vo: FileApi.FilePresignedUrlRespVO, name: string, file: UploadRawFile) {
5150
const fileVo = {
52-
configId: configId,
51+
configId: vo.configId,
52+
url: vo.url,
5353
path: name,
54-
// 移除预签名参数:参数只在上传时有用,查看时不需要
55-
url: url.substring(0, url.indexOf('?')),
5654
name: file.name,
5755
type: file.type,
5856
size: file.size

0 commit comments

Comments
 (0)