2

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

4

2 回答 2

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' )

于 2017-08-07T05:51:53.787 回答
0

你最好让 nginx 为你的静态文件提供服务。众所周知,flask 对于​​这项任务的性能相对较差。但是,如果您的服务器没有得到充分利用,那也没关系。

于 2015-08-31T19:57:45.173 回答