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

使用st.file_uploader上传大文件异常:2GB以上文件上传失败求助

解决Streamlit st.file_uploader 大文件上传报错问题

可能的原因及对应解决办法

  • 后端服务请求大小限制:仅改Streamlit的maxUploadSize不够,底层服务器(如Tornado)还有独立限制。打开~/.streamlit/config.toml配置文件,补充以下内容:

    [server]
    maxUploadSize = 10240  # 单位MB,对应10GB
    maxMessageSize = 10240
    

    要是用Nginx这类反向代理,还要在Nginx配置里加client_max_body_size 10G;,避免网关层拦截大文件。

  • 内存资源不足:Streamlit默认在内存中处理上传文件,大文件直接占满内存会导致崩溃。在配置文件里开启磁盘缓存:

    [server]
    fileUploaderMemoryLimit = 0  # 0表示自动将大文件转存磁盘,不占用内存
    

    同时检查服务器可用内存,内存不够就升级配置,或者考虑分块上传大文件。

  • 版本兼容性bug:旧版Streamlit的st.file_uploader对大文件处理有缺陷,直接升级到最新稳定版:

    pip install --upgrade streamlit
    
  • 前端超时限制:大文件上传耗时久,会触发浏览器或前端的默认超时。在配置文件里延长超时时间:

    [server]
    timeout = 3600  # 单位秒,设置1小时超时
    

测试建议

  • 先拿2.5GB左右的文件测试,逐步验证配置是否生效;
  • 启动Streamlit时加调试日志,查看具体报错信息定位问题:
    streamlit run your_app.py --log-level debug
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:40:31