生成时间: 2026-08-02 · 数据来源: xnybw平台需求及工作计划.xlsx(南网在线绿能云缺陷跟踪表)· 仅针对 backup730/730backup 分支代码

① 基本信息

问题描述并网资料信息页面,附件上传时目前限制最大不能超过100MB,要放宽到500MB
一级模块项目信息填报
二级模块/(并网资料信息 > 附件上传)
涉及类型全部类型
所属区域未标注(五区互联网侧页面)
严重性严重
当前状态2.1.待开发
研发处理人未分配
处理说明未填写

② 问题截图

上传文件大小不能超过100M提示
并网资料信息-上传附件时触发"上传文件大小不能超过100M"提示,超过100MB的资料(如大型可研报告、竣工图纸压缩包)无法上传

③ 旧代码涉及的项目文件及行数(backup730/730backup 分支,当前仍是此状态)

xnybw5f / src/views/projectNew/components/projectDataInfo/component/batchInfo.vue 第 1675-1686 行("附件"列使用 <SoAttachment code="newenergy_grid_connection" ... >,即并网资料信息页面的附件上传入口)
<SoAttachment
    v-model="scope.row.fileList"
    code="newenergy_grid_connection"
    :multiple="false"
    :numExceed="10"
    button-name="上传附件"
    :inTheTableIndex="scope.$index"
    :fileType='["xls","xlsx","doc","docx","pdf","jpg","png","txt","zip","rar","tar"]'
    @fileChange="handleMainFileChange(...)"
    @fileDeleteChange="handleMainFileDelete(...)">
</SoAttachment>
xnybw5f / src/components/SoAttachment/index.vue 第 627-636 行(getFileInfo,文件大小限制来自接口返回,非前端硬编码);第 709-716 行(uploadBrefore,超限时报"上传文件大小不能超过{fileSize}M");第 777-781 行(setfileSize,将 fileSize 字符串换算为字节数)
getFileInfo(data) {
    this.fileType = data.list[0].fileFormat.split('/')
    ...
    // 大小限制并非前端写死,而是从"文件业务编码"接口配置里取出来的
    this.fileSize = data.list[0].fileSize
},
...
uploadBrefore(file) {
    ...
    if (file.size > this.setfileSize()) {
        this.$message.warning(`上传文件大小不能超过${this.fileSize}M`)
        ...
    }
},
setfileSize() {
    if (this.fileSize === '0') return '0B'
    const k = 1024
    return this.fileSize.replace(/[^0-9]/gi, '') * k ** 2   // fileSize(如"100") * 1024 * 1024
}
xnybw5f / src/components/SoAttachment/fileCenterInterface.js 第 58-65 行(getFileCode,POST /so/oms/pf/filecenter/fcCode/queryVOListByPage,按 businessName 查询文件业务编码配置,含 fileFormat / fileSize 等)
getFileCode(data) {
    return request({
        baseURL: data.prefix,
        url: '/so/oms/pf/filecenter/fcCode/queryVOListByPage',
        method: 'post',
        cache: true,
        data: JSON.stringify(data.data)
    })
}
对照证据:在 xnybw5b 后端(730backup 分支)全仓搜索 fc_code / newenergy_grid_connection / fileSize 均无命中,唯一相关引用是 NePjInfoAppService.java 第 16、86 行 import 并注入的 cn.csg.so.oms.pf.file.client.forest.FileCenterUtils——这是平台侧"文件中心"(so.oms.pf.file,comtop/JADP 公共平台组件)提供的 SDK,业务编码 newenergy_grid_connection 对应的大小上限(当前100MB)是在文件中心自己的业务编码配置表中维护的,并不在 xnybw5b/xnybw5f 两个仓库的代码或配置文件里,也没有在 bootstrap.yml 中找到 spring.servlet.multipart.max-file-size 之类的覆盖项。

④ 修复涉及的位置

互联网前端
SoAttachment 组件
→ 调用 →
文件中心接口
fcCode/queryVOListByPage
→ 读取 →
文件业务编码配置
code=newenergy_grid_connection
fileSize=100
本条缺陷不需要修改 xnybw5f / xnybw5b 任何一行业务代码——前端大小校验已经是"从接口读配置、动态比较"的实现(见③),只要文件中心里 newenergy_grid_connection 这个业务编码对应的 fileSize 配置项由 100 改成 500,前端弹窗提示文案与校验阈值会自动跟随变化,无需重新发布前端包。

需要确认/处理的两个层面:

1. 文件中心业务编码配置:由平台/文件中心管理侧将业务编码 newenergy_grid_connectionfileSize 配置项从 100 调整为 500(该配置通常在 OMS 平台后台的"文件业务编码管理"功能里维护,不属于 xnybw5b 应用自身的数据库或代码)。

2. 后端 Multipart 上传阈值:xnybw5b 的 bootstrap.yml 未发现 spring.servlet.multipart.max-file-size / max-request-size 覆盖配置,实际生效阈值来自 Nacos 配置中心的公共配置或 comtop-web-starter 的默认值;放宽到500MB前需要一并核实 Nacos 侧对应配置组是否已放开该限制,并核实 Nginx/网关侧(如有)是否存在 client_max_body_size 等更低的硬限制,否则前端放开到500MB后大文件仍会在网关或 Spring 层被拦截(常见现象为413/连接被重置)。

⑤ 修复方案

本行严格来说是配置调整需求,而非代码缺陷:xnybw5f 侧的 SoAttachment 组件已按"接口下发的业务编码配置"驱动大小校验,无需改动 Vue 代码;真正需要变更的是平台文件中心对业务编码 newenergy_grid_connectionfileSize 配置值(100 → 500),以及配套核实 Nacos/网关侧的 multipart 大小限制是否同步放开。

建议处理顺序:① 联系平台/文件中心侧管理员,将 newenergy_grid_connection 业务编码的 fileSize 从 100 调整为 500;② 核实 Nacos 配置中心中 xnybw5b 应用的 spring.servlet.multipart.max-file-sizemax-request-size 是否 ≥ 500MB,不足则一并调大;③ 若前置有 Nginx/网关,同步核实 client_max_body_size;④ 调整完成后在测试环境实测一次接近500MB的真实附件上传,确认前端提示文案、后端接收、以及大文件上传的超时时间(尤其互联网侧带宽有限,500MB上传耗时可能较长,需评估前端上传进度条与请求超时时间是否够用)。

该问题不涉及互联网侧越权访问或身份参数处理,与项目安全编码基线无冲突。