从Heroku检索文件

时间:2014-09-11 02:24:41

标签: python heroku flask

我知道它已被问到,但我有一个Python脚本在Heroku中生成一个文件。我在Cedar堆栈上,显然现在允许您在/app内的任何地方进行编写,而不仅仅是/tmp

基本上,我运行一个脚本,我感兴趣的文件被放在/app中,如果我没弄错的话,我的Heroku应用程序会使用某种临时目录。我会使用/app/test.txt作为我的脚本生成的文件示例,我有兴趣建立链接。

有趣的是,当我在Python脚本中执行ls时(通过os.subprocess或类似的东西),我得到/app中所有内容的目录列表,包括requirements.txt, Procfile, /templates/等等on,包括我感兴趣的test.txt文件。

所以,我的Python脚本如下所示:

@app.route('/', methods=['POST'])
def my_form_post():
    return render_template("my_form_2.html", filename = "test.txt")

和相应的模板my_form_2.html如下所示:

<!DOCTYPE html>
    <html lang="en">
    <body>
        <a href={{filename}}>Right-click to download!</a>
    </body>
</html>

上面提到html href的关键是我希望它指向一个网址,例如my-app.herokuapp.com/app/test.txt。上面的HTML产生前面的链接,遗憾的是它不是有效的。从本质上讲,我试图获取我使用Python脚本创建的文件的绝对路径。关于如何做到的任何想法?

在有人提到S3之前,我现在试图避免使用它,因为它是一个小而且不需要转移到其他服务器的文件

0 个答案:

没有答案