You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Tomcat9上传大文件问题求助:10GB+文件上传后变为0KB

解决GeneXus 17 U10大文件上传后变为0KB的问题

针对你上传10GB以上TXT文件后出现0KB空文件的问题,除了调整max-file-size,还需要从以下几个维度排查:

  • 调整服务器端超时配置
    GeneXus生成的Web应用依赖底层服务器(IIS/Tomcat等),大文件上传耗时远超默认超时阈值会导致连接中断,文件写入不完整:

    • IIS:修改站点「连接超时」(建议设为3600秒以上),同时在web.config中设置ASP.NET请求超时:
      <system.web>
        <httpRuntime executionTimeout="36000" maxRequestLength="10485760" /> <!-- 10GB对应10485760KB -->
      </system.web>
      
    • Tomcat:在server.xml调整connectionTimeout为3600000(1小时),并在web.xml设置session-timeout为60以上。
  • 启用GeneXus流式上传
    默认非流式上传会将整个文件加载到内存,超过内存限制后直接截断为0KB:

    • 打开Web应用属性,进入「Upload Settings」勾选Stream uploads;
    • 处理上传的Procedure中,将&File变量的Stream属性设为True,确保文件以流的方式写入磁盘。
  • 检查磁盘空间与权限

    • 确认上传目录所在磁盘有至少10GB以上可用空间,磁盘满会导致写入失败生成空文件;
    • 验证应用程序池的运行账户拥有上传目录的写入/修改权限,权限不足会中断文件写入流程。
  • 排查中间件限制
    若前端到应用服务器之间存在反向代理(如Nginx),需同步调整代理配置:

    • Nginx中设置client_max_body_size 15G;(大于目标文件大小),同时延长proxy_connect_timeout、proxy_read_timeout至3600秒以上。
  • 通过日志定位根因
    查看GeneXus应用日志(logs目录)、服务器系统日志(IIS事件查看器/Tomcat catalina.out),日志中会记录上传过程中的内存溢出、超时、权限错误等具体问题,帮助快速定位。

内容的提问来源于stack exchange,提问作者Santiago Adan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 21:36:26