【问题标题】:How to pass a CSV file to a Flask app running inside a Docker container?如何将 CSV 文件传递​​给在 Docker 容器内运行的 Flask 应用程序?
【发布时间】:2020-02-17 16:55:51
【问题描述】:

我有一个在 Docker 容器中运行的 Flask 应用程序。我的应用程序将 CSV 文件的路径作为输入,对其进行处理并给出一些结果。

在创建容器时,我在容器内部存储了一个 CSV 文件来测试代码。现在,当一切正常时,我必须从外部传递这个 CSV 文件。

这是因为每次 API 调用都会有不同的 CSV 文件。

请注意,CSV 文件将由最终用户传递,因此当我们启动容器时,它不能位于系统上的任何位置。运行容器后会收到。

如何将此 CSV 文件提供给我的应用程序?

【问题讨论】:

  • 您是否能够使用下面显示的任何答案来解决这个问题?如果是这样,请记得accept it。这会向其他用户显示您找到了解决方案。

标签: python api docker flask


【解决方案1】:

我的应用将 CSV 文件的路径作为输入

它不应该使用 path 到一个文件。您的用户将无权访问服务器的文件系统,您的服务器也无权访问您的客户端的文件系统。

应该是take a file payload in an HTTP request:

  1. <form> 标记用 enctype=multipart/form-data 标记,<input type=file> 放置在该表单中
  2. 应用程序从请求对象的files 字典中访问文件。
  3. 使用文件的save()方法将文件永久保存在文件系统的某个位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-25
    • 2019-05-25
    • 2021-03-21
    • 1970-01-01
    • 2020-06-23
    相关资源
    最近更新 更多