From f3e6747341e14a7065d14a0a0f12a7c0de6b8f5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E5=BC=BA?= <357099073@qq.com> Date: Thu, 9 Apr 2026 16:52:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E4=B8=8A=E4=BC=A0=E8=BD=AF?= =?UTF-8?q?=E4=BB=B6=E8=B6=85=E6=97=B6=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/文件上传超时配置.md | 62 ++++++++++++++++++++++++++++++++++++++++ src/api/file.js | 4 +-- 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 docs/文件上传超时配置.md diff --git a/docs/文件上传超时配置.md b/docs/文件上传超时配置.md new file mode 100644 index 0000000..f46a792 --- /dev/null +++ b/docs/文件上传超时配置.md @@ -0,0 +1,62 @@ +# 文件上传超时配置说明 + +## 修改内容 + +移除了文件上传的超时限制,允许大文件上传完成而不会因超时中断。 + +## 修改位置 + +`platform/src/api/file.js` 中的 `uploadFile` 函数 + +## 修改详情 + +### 修改前 +```javascript +const config = { + url: "/platform/uploadfile", + method: "post", + data: formData, + timeout: 2 * 60 * 60 * 1000, // 2小时超时 +}; +``` + +### 修改后 +```javascript +const config = { + url: "/platform/uploadfile", + method: "post", + data: formData, + timeout: 0, // 不设置超时时间,等待文件上传完毕 +}; +``` + +## 影响范围 + +此修改影响所有使用 `uploadFile` 函数的文件上传功能,包括但不限于: + +- 软件升级安装包上传 (`platform/src/views/platform/softwareupgrade/components/edit.vue`) +- 文件管理器上传 (`platform/src/views/system/fileManager/index.vue`) +- 其他调用 `uploadFile` API 的组件 + +## 技术说明 + +- `timeout: 0` 在 axios 中表示不设置超时限制 +- 上传进度仍然会正常显示(通过 `onUploadProgress` 回调) +- 用户可以随时取消上传操作 +- 适用于大文件(如软件安装包)的上传场景 + +## 注意事项 + +1. 虽然客户端不设置超时,但服务器端可能仍有超时限制 +2. 建议在服务器端(Go 后端)也检查并调整相应的超时配置 +3. 对于超大文件,建议考虑使用分片上传或断点续传机制 + +## 相关文件 + +- `platform/src/api/file.js` - 文件上传 API +- `platform/src/utils/request.js` - axios 请求配置(普通接口默认 5 分钟超时) +- `platform/src/views/platform/softwareupgrade/components/edit.vue` - 软件升级上传组件 + +## 修改日期 + +2026-04-09 diff --git a/src/api/file.js b/src/api/file.js index 81bf45d..14b903d 100644 --- a/src/api/file.js +++ b/src/api/file.js @@ -120,8 +120,8 @@ export function uploadFile(formData, options = {}) { url: "/platform/uploadfile", method: "post", data: formData, - // 大安装包 / 极弱网:2 小时;勿设置 Content-Type(由浏览器自动带 boundary) - timeout: 2 * 60 * 60 * 1000, + // 不设置超时时间,等待文件上传完毕;勿设置 Content-Type(由浏览器自动带 boundary) + timeout: 0, }; if (typeof options.onUploadProgress === "function") { config.onUploadProgress = options.onUploadProgress;