20

在烧瓶中,如何提供不在静态文件夹中的图像?

我目前将用户上传的照片保存在烧瓶文件夹之外的目录中(打开openshift,图像当前保存在数据文件夹下app-root/data,烧瓶文件位于app-root/repo/)。

在我的模板中,我如何提供图像文件?

使用url_for,我如何引用烧瓶文件夹之外的这些图像文件?

- data/
 |
  -- uploads/
- repo/
 |
  -- app/
    |
     -- __init__.py

如您所见,烧瓶应用程序文件夹外的数据文件夹。问题是如何data/uploads从烧瓶应用程序目录生成存储在(上一级)中的文件的链接?

4

1 回答 1

39

你有send_from_directory函数可以做你想做的事,我要做的是声明一个名为MEDIA_FOLDER的常量,其中包含媒体文件所在的路径,然后,你唯一需要做的就是像这样调用函数:

from config import MEDIA_FOLDER

@app.route('/uploads/<path:filename>')
def download_file(filename):
    return send_from_directory(MEDIA_FOLDER, filename, as_attachment=True)

然后,要调用它,您只需执行以下操作:

{{ url_for('download_file', filename='dogs.jpg') }}

您可以在此处获得更多信息。

于 2014-11-17T11:58:37.843 回答