Flask send_from_directory

时间:2013-10-27 17:05:52

标签: file-upload flask download

我有一个Flask网络应用程序,允许用户上传文件,然后在浏览器中下载或显示它们。我应该在生产时使用send_from_directory从我服务器上的上传文件夹中提供这些文件吗?

2 个答案:

答案 0 :(得分:0)

最好让nginx提供静态文件。众所周知,烧瓶的性能相对较差。但是,如果您的服务器无法充分利用,那就无所谓了。

答案 1 :(得分:0)

我已经完成了那种想法。我正在使用烧瓶休息。但你可以用这个作为参考。 用于上传文件

from document_folder.config import dir_path file = data['file'] #data is a reqparse. filename = werkzeug.secure_filename(file.filename) file.save(os.path.join(str(dir_path), str(filename))

文件静态文件夹的

config.py。将其放在文档静态文件夹

import os dir_path = os.path.dirname(os.path.realpath(__file__))

下载 您必须将文档的名称保存到数据库中,以便下载文档。

docu = DocumentModel.exists(_id) if docu: filename = docu.filename return send_file(os.path.join(dir_path, filename), as_attachment=True)

解析器应该是这样的。

parser.add_argument('file', type=werkzeug.datastructures.FileStorage, location='files' )