Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
corporate-culture-qd
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王立鹏
corporate-culture-qd
Commits
61147c49
Commit
61147c49
authored
Nov 06, 2026
by
wangshouyong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
d3d4ac9d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
3 deletions
+15
-3
index.ts
src/api/common/index.ts
+12
-3
index.vue
src/components/common/UploadFile/index.vue
+3
-0
No files found.
src/api/common/index.ts
View file @
61147c49
...
...
@@ -285,19 +285,28 @@ async function uploadFileByChunks(
}
as
UploadFileResponseItem
}
// 上传文件 10mb以上用nas分片 10mb以下正常上传
/**
* 上传文件。超过 CHUNK_UPLOAD_THRESHOLD(1MB) 的走 nas 分片,否则走 OA 通道(落阿里云 OSS)。
*
* forceCommon: 不按大小分流,强制走 OA 通道。
* nas 文件现在要带签名访问、链接只有两小时有效期,而企微推送的封面图是永久留存的,
* 两小时后卡片图就挂了,这个场景不走接口返回、后端加不了签。
* OA 组的结论是这类图片改回放阿里云,所以图片一律走 OA 通道。
* 视频仍然走 nas 分片,它的地址由接口返回,后端会自动加签。
*/
export
const
uploadFile
=
(
file
:
File
,
options
:
{
onProgress
?:
(
progress
:
number
)
=>
void
forceCommon
?:
boolean
}
=
{},
):
{
cancel
:
()
=>
void
promise
:
Promise
<
UploadFileResponseItem
>
}
=>
{
const
{
onProgress
}
=
options
const
{
onProgress
,
forceCommon
}
=
options
const
controller
=
new
AbortController
()
const
isChunkUpload
=
file
.
size
>
CHUNK_UPLOAD_THRESHOLD
const
isChunkUpload
=
!
forceCommon
&&
file
.
size
>
CHUNK_UPLOAD_THRESHOLD
const
promise
=
isChunkUpload
?
uploadFileByChunks
(
file
,
options
,
controller
.
signal
)
...
...
src/components/common/UploadFile/index.vue
View file @
61147c49
...
...
@@ -129,6 +129,9 @@ const uploadRawFile = async (rawFile: File, uid: number) => {
}
const
{
promise
}
=
uploadFileApi
(
rawFile
,
{
// 本组件只传图片(封面图、商品图、奖品图、头像等),一律走 OA 通道落阿里云。
// nas 上的文件现在要带签名访问、两小时过期,企微推送的封面图会因此挂掉
forceCommon
:
true
,
onProgress
:
(
progress
)
=>
{
uploadPercent
.
value
=
progress
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment