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

Python版Shiny设置maxRequestSize实现大文件上传求助

在Python Shiny中调整大文件上传限制的方法

在Python版Shiny里,要支持30-50MB的大文件上传,可通过以下两种场景的配置实现,全程无需依赖R:

1. 本地开发/直接运行时配置

直接在启动应用的代码中,给shiny.run_app()传入max_upload_size参数,单位为字节。以50MB为例,换算后为50 * 1024 * 1024 = 52428800字节。

示例代码:

from shiny import App, ui

app_ui = ui.page_fluid(
    ui.input_file("file_upload", "上传大文件", accept=".csv,.xlsx,.zip")
)

def server(input, output, session):
    pass

app = App(app_ui, server)

if __name__ == "__main__":
    # 设置50MB的上传限制
    shiny.run_app(app, max_upload_size=52428800)

2. 生产部署场景配置

如果通过shiny run命令启动应用,或者采用纯Python部署方案,可通过两种方式配置:

  • 创建全局配置文件:在应用根目录新建shiny_config.py,添加以下内容:
from shiny import config
# 设置50MB上传限制
config.set_max_upload_size(52428800)
  • 通过环境变量传递:启动应用前设置环境变量,再执行启动命令:
SHINY_MAX_UPLOAD_SIZE=52428800 shiny run app.py

额外注意事项

  • Python Shiny底层基于Starlette/FastAPI,若单独配置了服务器的请求大小限制,会覆盖Shiny的配置,需确保两者一致。
  • 测试时建议用略小于设定值的文件验证,避免因网络传输的额外数据开销导致上传被拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 04:32:04