使用 Flask-RestPlus 下载 excel?

Nav*_*vin 6 python download flask-restplus

如何使用 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
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助。

小智 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)
Run Code Online (Sandbox Code Playgroud)

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