【问题标题】:Where to find the file after uploading via Flask/Python/Heroku?通过 Flask/Python/Heroku 上传后在哪里可以找到文件?
【发布时间】:2015-01-15 13:11:19
【问题描述】:

我在以下问题上遵循了如何上传文件的基本格式:Flask/Apache submit button for file upload

我的网页现在有一个上传和提交按钮,我相信它可以工作(即它不会进入错误页面,而只是返回 index.html 表单以再次提交文件。

我的问题是,我假设某个文件正在上传。它在哪里?它是在我的硬盘上(最好不是!)还是在网络上的某个地方?能够在 python 后端访问该文件然后在其上调用函数会非常酷。 (最终,我也想返回一个后端生成的文件)。

谁能帮我指出正确的方向?我想我的问题是:

我的代码看起来像我链接到的问题中的固定代码。

  1. 文件在哪里,如何调用它以便稍后在 .py 文档中使用?
  2. 如果我的文件在我的硬盘驱动器上的 /tmp/ 文件夹中,我该如何更改它以使其仅保留在网络上?
  3. 如何发回文件?是 HTTP“PUT”吗?

【问题讨论】:

  • Heroku 的文件系统是临时的。当测功机关闭时,您保存到其中的所有内容都将丢失。

标签: python html heroku upload flask


【解决方案1】:
  1. 文件在

    filename = secure_filename(file.filename)
    file.save(os.path.join("/tmp/", filename))
    

这意味着无论filename 是什么,都在/tmp/ 目录中。

  1. 没有。它应该在/tmp/ 文件名中。虽然我认为这不是 heroku 的有效位置。我怀疑您必须将内容上传到其他地方,like Amazon S3direct via node

  2. 在线位置(例如 S3)将有一个 url,您将其嵌入到 html 中,以便直接下载。例如http://mybucket.s3.amazonaws.com/<filename>

【讨论】:

  • 该函数在哪里定义?
猜你喜欢
  • 2015-08-17
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 2012-11-26
相关资源
最近更新 更多