From eb107db8c57e9f27c899dc06156528e84206993c Mon Sep 17 00:00:00 2001 From: owen Date: Tue, 22 Sep 2026 11:06:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B9=B6=E8=A1=8C=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Lib/CloudBuilder.Core.dll | Bin 235520 -> 236032 bytes .../DatabaseAccessor/UnitOfWorkAttribute.cs | 57 ++++-- CodeGenerator/Lib/CloudBuilder.Core.dll | Bin 235520 -> 236032 bytes WebVue/src/components/basic/FileUpload.vue | 191 +++++++++++++----- WebVue/src/md/fileUpload.md | 22 +- 5 files changed, 194 insertions(+), 76 deletions(-) diff --git a/CloudBuilder.Topshelf/Lib/CloudBuilder.Core.dll b/CloudBuilder.Topshelf/Lib/CloudBuilder.Core.dll index 3c674f257ab53d6cd37bf6ff2640e446436d0a91..fe79891872d111b49aa4d19cfb6d0f8d3ed1da1d 100644 GIT binary patch delta 82135 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 K=zS8msQ(3p*w6F; delta 81770 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 + /// 事务对象在 HttpContext.Items 里的键。 + /// 用 HttpContext.Items 而不是实例字段:过滤器实例被所有并发请求共用, + /// 实例字段会让并发请求互相覆盖(详见类注释)。 + /// + private const string ScopeKey = "__UnitOfWork_TransactionScope__"; public override void OnActionExecuting(ActionExecutingContext context) { - _transactionScope = new TransactionScope(TransactionScopeOption.RequiresNew, + // 同一请求内重复进入(嵌套)时复用外层事务,不重复开启 + if (context.HttpContext.Items.ContainsKey(ScopeKey)) + { + base.OnActionExecuting(context); + return; + } + + // TransactionScopeAsyncFlowOption.Enabled:允许事务随 async/线程流转, + // 否则 Dispose 可能发生在另一个线程上而抛异常 + var scope = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted, Timeout = TransactionManager.MaximumTimeout - }); + }, + TransactionScopeAsyncFlowOption.Enabled); + + context.HttpContext.Items[ScopeKey] = scope; base.OnActionExecuting(context); } - //public override void OnActionExecuting(ActionExecutingContext context) - //{ - // // 正确:单机数据库事务(不是分布式) - // _transactionScope = new TransactionScope( - // TransactionScopeOption.Required, - // new TransactionOptions - // { - // IsolationLevel = IsolationLevel.ReadCommitted - // }, - // TransactionScopeAsyncFlowOption.Enabled); // 必须加这个 - - // base.OnActionExecuting(context); - //} - public override void OnActionExecuted(ActionExecutedContext context) { - if (_transactionScope == null) + // 取不到说明本请求没有开启(或已处理),直接放行 + if (context.HttpContext.Items[ScopeKey] is not TransactionScope transactionScope) { base.OnActionExecuted(context); return; @@ -89,13 +105,14 @@ namespace CloudBuilder.Core.DatabaseAccessor if (!needRollback) { //必须要有 SaveChanges() 调用,否则数据只会停留在内存中,不会真正保存到数据库。 - _transactionScope.Complete(); + transactionScope.Complete(); } } finally { // 不 Complete() 就是自动回滚 - _transactionScope.Dispose(); + transactionScope.Dispose(); + context.HttpContext.Items.Remove(ScopeKey); } base.OnActionExecuted(context); diff --git a/CodeGenerator/Lib/CloudBuilder.Core.dll b/CodeGenerator/Lib/CloudBuilder.Core.dll index 6212e7a7e429d4f22d238ee05a7ef0dbff339599..fe79891872d111b49aa4d19cfb6d0f8d3ed1da1d 100644 GIT binary patch delta 82135 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 K=zS8msQ(3p*w6F; delta 81770 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 diff --git a/WebVue/src/components/basic/FileUpload.vue b/WebVue/src/components/basic/FileUpload.vue index 7859fdf..4d20bad 100644 --- a/WebVue/src/components/basic/FileUpload.vue +++ b/WebVue/src/components/basic/FileUpload.vue @@ -71,7 +71,10 @@ const props = withDefaults( showButton?: boolean; /** 默认上传按钮文案 */ buttonText?: string; - /** 分片大小(字节) */ + /** + * 分片大小(字节)。**不传时按网络自动**: + * 内网(localhost/IP,走并发)3MB、公网(域名,走串行)1MB。 + */ chunkSize?: number; /** 请求超时时间(毫秒) */ timeout?: number; @@ -79,6 +82,13 @@ const props = withDefaults( retryCount?: number; /** 重试的初始等待毫秒数,之后按 1x、2x、4x 递增 */ retryDelay?: number; + /** + * 是否并发上传分片(最后一片仍然串行,见下方说明)。 + * 不传时自动判断:访问地址是 localhost / IP(内网)就并发,域名(公网)就串行。 + */ + parallel?: boolean; + /** 并发上传时的并行数,默认 4 */ + concurrency?: number; }>(), { action: "", @@ -89,10 +99,13 @@ const props = withDefaults( disabled: false, showButton: false, buttonText: "上传文件", - chunkSize: 1024 * 1024, + // 不传时由 resolveChunkSize() 按内网/公网自动决定(内网 3MB / 公网 1MB) + chunkSize: undefined, timeout: 60000, retryCount: 3, retryDelay: 1000, + parallel: undefined, + concurrency: 4, } ); @@ -134,7 +147,7 @@ const resolvePath = async (): Promise => { /** 文件分片 */ const splitFile = (file: File): Blob[] => { const chunks: Blob[] = []; - const size = props.chunkSize > 0 ? props.chunkSize : 1024 * 1024; + const size = resolveChunkSize(); let start = 0; while (start < file.size) { const end = Math.min(start + size, file.size); @@ -157,7 +170,7 @@ const buildChunkName = ( return `${uid}-${index}-${total}${fileExtension ? "." + fileExtension : ""}`; }; -/** 分片上传(顺序上传) */ +/** 分片上传 */ /** 计算进度需要的上下文:多文件时要能算到「整体」而不是单个文件内 */ interface ChunkProgress { /** 当前第几个文件,从 1 开始 */ @@ -170,8 +183,8 @@ interface ChunkProgress { totalBytes: number; /** 当前文件的大小 */ fileSize: number; - /** 每成功一片回调,用来记续传位置 */ - onChunkDone?: (index: number) => void; + /** 已完成的分片序号(从 1 开始)。并发上传时顺序是乱的,用它记账、也用它续传 */ + done: Set; } /** 等待指定毫秒 */ @@ -229,7 +242,33 @@ const requestChunk = async ( throw lastError; }; -const uploadChunk = async ( +/** 按已完成分片数估算整体百分比(按字节算,多文件时不会每个文件退回 0) */ +const calcPercent = (progress: ChunkProgress, total: number) => { + const chunkSize = resolveChunkSize(); + if (progress.totalBytes > 0) { + const sent = + progress.baseBytes + Math.min(progress.done.size * chunkSize, progress.fileSize); + return Math.min(100, Math.round((sent / progress.totalBytes) * 100)); + } + return total > 0 ? Math.round((progress.done.size / total) * 100) : 0; +}; + +/** 上报进度:单文件、多文件统一用百分比 */ +const emitProgress = (progress: ChunkProgress, total: number) => { + const percent = calcPercent(progress, total); + emit("progress", { + percent, + current: progress.done.size, + total, + text: + progress.fileCount > 1 + ? `上传中(第 ${progress.fileNo}/${progress.fileCount} 个) ${percent}%` + : `上传中 ${percent}%`, + }); +}; + +/** 传一片并记账 */ +const sendChunk = async ( chunks: Blob[], fileName: string, uid: string, @@ -237,49 +276,103 @@ const uploadChunk = async ( path: string, progress: ChunkProgress ): Promise => { - const chunkSize = props.chunkSize > 0 ? props.chunkSize : 1024 * 1024; + const response = await requestChunk( + chunks, + fileName, + uid, + index, + path, + calcPercent(progress, chunks.length) + ); + progress.done.add(index); + emitProgress(progress, chunks.length); + return response; +}; - // 这片还没传时的进度:重试期间保持不动,不让进度条倒退 - const sentBefore = progress.baseBytes + Math.min((index - 1) * chunkSize, progress.fileSize); - const percentBefore = - progress.totalBytes > 0 - ? Math.min(100, Math.round((sentBefore / progress.totalBytes) * 100)) - : Math.round(((index - 1) / chunks.length) * 100); +/** + * 内网判定:localhost / 回环地址 / 纯 IP(IPv4、IPv6)。 + * 内网带宽足、延迟低,分片可以并发传;公网仍保持串行,免得占满上行带宽、也给服务器留点余量。 + */ +const isIntranetHost = (): boolean => { + const host = window.location.hostname; + if (!host) return false; + if (host === "localhost" || host.endsWith(".localhost")) return true; + // IPv4 + if (/^\d{1,3}(\.\d{1,3}){3}$/.test(host)) return true; + // IPv6(形如 [::1] 或 ::1,必须带冒号,避免把普通域名当成 IP) + if (host.includes(":") && /^[0-9a-f:.]+$/i.test(host.replace(/[[\]]/g, ""))) return true; + return false; +}; - const response = await requestChunk(chunks, fileName, uid, index, path, percentBefore); +/** 是否并发上传:显式传了 parallel 就用它,否则按访问地址自动判断 */ +const isParallelUpload = () => props.parallel ?? isIntranetHost(); - // 整体进度按字节算:多文件时进度条一路向前,不会每个文件都退回 0 - const sentBytes = progress.baseBytes + Math.min(index * chunkSize, progress.fileSize); - const percent = - progress.totalBytes > 0 - ? Math.min(100, Math.round((sentBytes / progress.totalBytes) * 100)) - : Math.round((index / chunks.length) * 100); +/** + * 实际使用的分片大小:调用方显式传了 chunkSize 就用它的,否则按网络自动选。 + * 内网走并发:3MB,请求数降到 1/3,省掉每请求的固定开销(MVC 管道 + 事务 + 写盘); + * 公网走串行:1MB,重试与续传的粒度小,网络抖动时代价低。 + */ +const resolveChunkSize = () => { + const size = props.chunkSize; + if (typeof size === "number" && size > 0) return size; + return isParallelUpload() ? 3 * 1024 * 1024 : 1024 * 1024; +}; - // 这一片已经落到服务器上了,记下位置,中断后从这里之后接着传 - progress.onChunkDone?.(index); +/** + * 上传一个文件的全部分片。 + * + * 关键点:**最后一片必须最后传**——服务端是收到最后一片才合并分片、建文件记录的, + * 提前发过去会拿到不完整的文件。所以无论并发还是串行,前面的分片传完才发最后一片。 + * 续传时按 done 里已完成的序号跳过,乱序完成也能对得上。 + */ +const uploadChunks = async ( + chunks: Blob[], + fileName: string, + uid: string, + path: string, + progress: ChunkProgress +): Promise => { + const total = chunks.length; + if (total === 0) return null; - emit("progress", { - percent, - current: index, - total: chunks.length, - // 单文件、多文件都统一用百分比(按字节算的整体进度),不再显示「第几片/共几片」 - text: - progress.fileCount > 1 - ? `上传中(第 ${progress.fileNo}/${progress.fileCount} 个) ${percent}%` - : `上传中 ${percent}%`, - }); - - if (index < chunks.length) { - return await uploadChunk(chunks, fileName, uid, index + 1, path, progress); + const pending: number[] = []; + for (let i = 1; i <= total - 1; i++) { + if (!progress.done.has(i)) pending.push(i); } - return response.data; + + let lastResponse: any = null; + + if (isParallelUpload()) { + // 并发:固定并发数,避免一次把上百个请求全打出去 + let cursor = 0; + const worker = async () => { + while (cursor < pending.length) { + const index = pending[cursor++]; + await sendChunk(chunks, fileName, uid, index, path, progress); + } + }; + const workers = Math.min(Math.max(1, props.concurrency), pending.length); + await Promise.all(Array.from({ length: workers }, () => worker())); + } else { + // 串行:上一片成功后才发下一片 + for (const index of pending) { + await sendChunk(chunks, fileName, uid, index, path, progress); + } + } + + // 最后一片:等前面全部完成后再发 + if (!progress.done.has(total)) { + lastResponse = await sendChunk(chunks, fileName, uid, total, path, progress); + } + + return lastResponse?.data; }; /** * 一次上传的断点状态。 * * 只要不刷新页面,文件、切好的分片和 uid 都还在内存里, - * 中断时记住「下一个要传第几片」,续传就能接着发,不必从头再来。 + * 中断时记住「哪些分片已经传完」,续传只补没传完的,不必从头再来。 * 刷新页面就丢了——这是浏览器的限制,文件对象无法持久化。 */ interface UploadSession { @@ -294,8 +387,8 @@ interface UploadSession { chunks?: Blob[]; /** 当前文件的 uid,续传时必须沿用,否则对不上服务器上的分片 */ uid?: string; - /** 当前文件下一个要传的分片序号 */ - nextChunk: number; + /** 当前文件已完成的分片序号(从 1 开始),并发时顺序是乱的,只能按集合记 */ + done: Set; } /** 未完成的上传会话,null 表示没有待续传的任务 */ @@ -319,21 +412,19 @@ const runSession = async (s: UploadSession): Promise => { if (chunks.length === 0) throw new Error("无法读取文件内容"); s.chunks = chunks; s.uid = uuidv4(); - s.nextChunk = 1; + s.done = new Set(); } const chunks = s.chunks; const uid = s.uid; - const response = await uploadChunk(chunks, file.name, uid, s.nextChunk, s.path, { + const response = await uploadChunks(chunks, file.name, uid, s.path, { fileNo: s.fileIndex + 1, fileCount: s.files.length, baseBytes: s.doneBytes, totalBytes: s.totalBytes, fileSize: file.size || 0, - onChunkDone: (index) => { - s.nextChunk = index + 1; - }, + done: s.done, }); // 返回分割后的最后一个(序号最大的)分片文件名 @@ -345,7 +436,7 @@ const runSession = async (s: UploadSession): Promise => { s.fileIndex += 1; s.chunks = undefined; s.uid = undefined; - s.nextChunk = 1; + s.done = new Set(); } session.value = null; @@ -355,7 +446,7 @@ const runSession = async (s: UploadSession): Promise => { const file = s.files[s.fileIndex]; emit("interrupted", { fileName: file?.name || "", - uploaded: Math.max(0, s.nextChunk - 1), + uploaded: s.done?.size ?? 0, total: s.chunks?.length ?? 0, }); emit("error", error); @@ -366,8 +457,8 @@ const runSession = async (s: UploadSession): Promise => { }; /** - * 上传一批文件:按顺序一个一个传,不做并发, - * 免得后端同时收到多个分片流。多选时所有文件进同一个目录。 + * 上传一批文件:多选时逐个文件上传(每个文件内部再按并发/串行切分片), + * 所有文件进同一个目录。 */ const uploadFiles = async (files: File[]): Promise => { const list = (files || []).filter((f) => f && typeof f.size === "number"); @@ -382,7 +473,7 @@ const uploadFiles = async (files: File[]): Promise => { totalBytes: list.reduce((sum, f) => sum + (f.size || 0), 0), doneBytes: 0, fileIndex: 0, - nextChunk: 1, + done: new Set(), }); } catch (error) { emit("error", error); diff --git a/WebVue/src/md/fileUpload.md b/WebVue/src/md/fileUpload.md index 0cf7d13..1617bc1 100644 --- a/WebVue/src/md/fileUpload.md +++ b/WebVue/src/md/fileUpload.md @@ -1,10 +1,10 @@ # FileUpload 文件上传组件使用说明 -通用文件上传组件,封装了「分片 + 顺序上传 + 请求头拼装 + 进度回调」的完整逻辑,默认对接 DMS 的 `DmsFile/UploadFile` 接口。 +通用文件上传组件,封装了「分片 + 并发/串行上传 + 请求头拼装 + 进度回调」的完整逻辑,默认对接 DMS 的 `DmsFile/UploadFile` 接口。 - 组件位置:`src/components/basic/FileUpload.vue` - 适用场景:DMS 文件上传、头像上传、任意需要分片上传的场景 -- 上传方式:基于 `axios`,把文件按 `chunkSize` 切成 `Blob` 分片后**顺序**(串行)上传 +- 上传方式:基于 `axios`,把文件按 `chunkSize` 切成 `Blob` 分片后上传——**内网并发、公网串行,最后一片始终最后传**(见「六、内部上传细节」第 4 条) - 容错能力:单片失败自动重试(1x → 2x → 4x 退避);重试耗尽保留断点,可由外部决定**续传**或放弃 --- @@ -30,10 +30,12 @@ import FileUpload from "@/components/basic/FileUpload.vue"; | `disabled` | `boolean` | `false` | 是否禁用。为 `true` 时 `trigger()` 不会打开选择框 | | `showButton` | `boolean` | `false` | 是否渲染内置的 `a-button` 作为触发元素 | | `buttonText` | `string` | `"上传文件"` | 内置按钮的文案 | -| `chunkSize` | `number` | `1024 * 1024`(1MB) | 分片大小(字节)。小于等于 0 时按 1MB 处理 | +| `chunkSize` | `number` | 自动 | 分片大小(字节)。**不传时按网络自动**:内网(`localhost`/纯 IP,走并发)**3MB**、公网(域名,走串行)**1MB**;显式传值(含 `0` 或负数)则一律以传入值为准(≤0 视为自动) | | `timeout` | `number` | `60000` | 单个分片请求的超时时间(毫秒) | | `retryCount` | `number` | `3` | 单片请求失败后的自动重试次数,`0` 表示不重试 | | `retryDelay` | `number` | `1000` | 重试的初始等待毫秒数,之后按 1x → 2x → 4x 递增 | +| `parallel` | `boolean` | 自动 | 是否并上传分片(**最后一片始终串行**)。不传时自动判断:访问地址是 `localhost` / 纯 IP(内网)→ 并发,域名(公网)→ 串行 | +| `concurrency` | `number` | `4` | 并发上传时的并行数,避免一次把上百个请求全打出去 | --- @@ -86,7 +88,7 @@ fileUploadRef.value?.discard(); | --- | --- | | `trigger()` | 触发原生文件选择。`disabled === true` 或正在上传时会被忽略 | | `upload(file: File)` | 直接对指定 `File` 执行完整上传流程(不校验 `disabled`) | -| `resume()` | 从断点继续上传(沿用原来的分片与 `uid`,保证和服务器上的分片对得上) | +| `resume()` | 从断点继续上传:沿用原来的分片与 `uid`,只补**没传完的那些分片**(并发上传时完成顺序是乱的,所以按已完成序号集合记账) | | `discard()` | 放弃本次上传,清空断点状态 | | `hasPendingUpload` | `computed`,是否存在待续传的任务 | @@ -123,11 +125,18 @@ fileUploadRef.value?.discard(); } ``` 3. **分片命名**:`${uuid}-${index}-${total}${".扩展名"}`,例如 `a1b2c3-1-3.mp4`(`index` 从 1 开始)。 -4. **上传顺序**:`index` 从 1 递归到 `total`,**上一片成功后才发下一片**。 -5. **并发控制**:组件内部有 `uploading` 标记,同一时间只允许一个上传流程;上传中再次选择文件会被忽略。 +4. **上传顺序**:**最后一片永远最后传**——服务端是收到最后一片才合并分片、建文件记录的。 + - 公网(域名):`index` 从 1 到 `total` 顺序发,上一片成功后才发下一片; + - 内网(`localhost` / 纯 IP):分片大小自动取 **3MB**,前 `total-1` 片**并发**上传(并发数 `concurrency`,默认 4),全部完成后再发最后一片;可用 `:parallel="false"` 强制串行(此时分片也回到 1MB)。 +5. **并发控制**:组件内部有 `uploading` 标记,同一时间只允许一个上传流程(多选文件之间也是逐个传);上传中再次选择文件会被忽略。 6. **文件列表**:使用 `v-model:file-list` 内部维护,不展示列表(`show-upload-list=false`),每次上传结束后自动清空。 7. **进度口径**:`percent` 按**字节**算的整体进度:`(已完成文件累计字节 + 当前文件已传字节) / 本次所有文件总字节`。多文件时进度一路向前,不会每个文件退回 0;比按分片数算更准(最后一片通常不足 1MB)。`text` 统一输出百分比,单文件 `上传中 66%`、多文件 `上传中(第 2/3 个) 66%`。 8. **失败重试**:单片失败自动重试 `retryCount` 次,等待 `retryDelay × 1/2/4`;重试期间进度保持在上一次的值,不回退。全部重试都失败才 `interrupted`。 +9. **并发与分片大小的取舍**:提速靠「减少请求数」而不是「加大分片」。每个分片请求都要走一遍服务端流程(MVC 管道 + `[UnitOfWork]` 事务 + 写盘),所以分片从 1MB 调到 3MB 能把请求数降到 1/3,内网收益明显;但 + - 瓶颈若是带宽(千兆内网)则几乎无差别,加大分片只增加重试/续传的粒度成本; + - 分片大于文件大小时,该文件只有 1 片(唯一一片就是最后一片),无法并发; + - 组件已按此策略**自动设置**:内网 **3MB + 并发 4**、公网 **1MB + 串行**(`chunkSize` / `parallel` / `concurrency` 任一显式传入都以传入值为准); + - 进度粒度也会变粗(100MB / 3MB ≈ 3% 一跳)。 --- @@ -339,3 +348,4 @@ await fileUploadRef.value?.upload(file); 7. **视频上传会卡在 99%/100%**:这是正常的——服务端在最后一个分片里同步执行 ffmpeg 生成封面(上限 25 秒)才返回。此时应显示"视频转码中 x%"之类的提示,不要让用户以为卡死(见示例 1)。 8. **视频封面可能晚于列表出现**:ffmpeg 是异步落盘的,首刷时 jpg 可能还没生成,`` 会 404 且不会自动重试。处理办法:① 上传后补刷列表(每次查询服务端会重新拼 `?v=时间戳`,`src` 变了才会重新请求);② 列表缩略图挂 `@error="retryImage($event)"`(`src/utils/imageRetry.ts`,按去掉查询参数的地址累计,**最多重试 3 次**,用完就隐藏图片露出占位图标,避免反复闪)。 9. **超时时间要留够**:视频场景最后一个分片请求里包含 ffmpeg 执行时间,`timeout` 默认 60s 够用;如果调小,会出现"分片超时 → 触发中断弹窗",但服务端其实已经处理完了。 +10. **加大 `chunkSize` 前先确认代理限制**:后端本身没有限制(`Program.cs` 里 Kestrel/IIS 的 `MaxRequestBodySize = null`、`MultipartBodyLengthLimit = int.MaxValue`),但如果站点前面挂了 Nginx,要确认 `client_max_body_size`(默认 `1m`),否则分片稍大就会被 413 拦掉。