【问题标题】:How to upload data file to a Heroku-deployed Dash web app如何将数据文件上传到 Heroku 部署的 Dash Web 应用程序
【发布时间】:2021-04-29 07:09:37
【问题描述】:

我一直在研究将数据(由外部用户)上传到我的 Dash 应用程序,似乎唯一的方法是 dcc.Upload 组件(UI 端的拖放组件 - https://dash.plotly.com/dash-core-components/upload)……澄清这个上传的文件将被读入 pandas 并输入到回调中以进行分析和可视化。

我还阅读了 Heroku 简单文件上传配置 (https://devcenter.heroku.com/articles/simple-file-upload) 和 AWS S3 存储桶 (https://devcenter.heroku.com/articles/s3) 作为存储上传到应用程序的静态数据的必要方式。 Dash dcc.Upload 文档中没有提到关于存储上传文件的任何地方,即我能找到的任何文档中都没有将 Web 服务器部分和 UI 链接在一起。

谁能解释一下,一旦部署到 Heroku,dcc.Upload 是否需要设置 Heroku 简单文件上传配置或 S3 存储桶?如果不是,它如何处理文件的存储?用户是否可以通过其他方式上传要在网络应用中使用的数据?

PS 我什至不确定用户将上传的数据文件是静态文件还是动态文件,因为它显然会在代码中进行处理以进行分析(即分组、排序、过滤等)

【问题讨论】:

    标签: python amazon-s3 heroku web-applications plotly-dash


    【解决方案1】:

    dash 核心组件中的 Upload 组件将数据保存在浏览器本身中(作为 base64 编码的字符串),即您不需要在 Heroku 上进行任何存储。

    另一个选项是dash-uploader,它能够处理更大的文件。但是,该组件将数据保存在服务器上。

    【讨论】:

    • dash-uploader v. 0.5.0 实际上现在有选项供用户配置 HTTP POST 和 GET 请求的处理。从理论上讲,它可以用于将数据传递到 S3 或其他任何地方,尽管我还没有测试过这种安排的效果如何。
    猜你喜欢
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 2021-09-03
    • 2021-04-15
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 2021-12-04
    相关资源
    最近更新 更多