6

如何使用 Flask-RestPlus 实现 API 端点以下载 excel 文件?

以前我使用 Pyramid 实现了类似的功能。但是,这种方法在这里不起作用。这是旧的代码片段:

workBook = openpyxl.Workbook()
fileName = 'Report.xls'
response = Response(content_type='application/vnd.ms-excel',
                            content_disposition='attachment; filename=%s' % fileName)
workBook.save(response)
return response

谢谢您的帮助。

4

1 回答 1

2

send_from_directory提供了一种安全的方式,可以在使用 Flask-RestPlus 时从上传文件夹或类似文件中快速公开静态文件

from flask import send_from_directory
import os

@api.route('/download')
class Download(Resource):
    def get(self):
        fileName = 'Report.xls'
        return send_from_directory(os.getcwd(), fileName, as_attachment=True)

我假设文件在当前工作目录中。可以相应地调整下载文件的路径。

于 2019-09-08T21:15:41.510 回答