小编Ale*_*gas的帖子

如何使用 send_file() 在 Javascript 中接收从 Flask 发送的文件

我正在开发一个 Web 应用程序,在前端使用 HTML + 纯 Javascript,并使用 Flask 作为后端。应用程序向服务器发送一些 ID,服务器应生成 PDF 文件格式的报告并将其发送回客户端。

我使用 Flask 作为后端,并创建了以下端点:

    @app.route("/download_pdf", methods=['POST'])
    def download_pdf():
        if request.method == 'POST':
            report_id = request.form['reportid']
            print(report_id) //Testing purposes.
            // do some stuff with report_id and generate a pdf file.
            return send_file('/home/user/report.pdf', mimetype='application/pdf', as_attachment=True)
// I already tried different values for mimetype and as_attachment=False
Run Code Online (Sandbox Code Playgroud)

从命令行我可以测试端点并获得正确的文件,服务器控制台按预期打印 123 report_id:

curl --form reportid=123 http://localhost:5000/download_pdf >> output.pdf
Run Code Online (Sandbox Code Playgroud)

对于前端,我创建了一个调用 Javascript 函数的按钮:

<button id=pdf_button onclick="generatePdf()"> PDF </button>
Run Code Online (Sandbox Code Playgroud)

JavaScript 函数如下所示:

function generatePdf(){
    var report_list = document.getElementById("report_list")

    if …
Run Code Online (Sandbox Code Playgroud)

javascript

6
推荐指数
1
解决办法
7515
查看次数

在 Python 3.6 中将自定义类列表声明为函数的参数

我想在 Python 3 中键入类方法的输入。我希望参数是list我创建的自定义类的 a。该方法的定义如下:

def add_report_data(self, report_data: list[ReportData]):
    pass
Run Code Online (Sandbox Code Playgroud)

ReportData 是一个普通的类,定义如下:

class ReportData:
    def __init__(self, system: str, value: int):
        self.__system = system
        self.__value = value
Run Code Online (Sandbox Code Playgroud)

执行我的代码时,我收到以下错误:

    def add_report_data(self, report_data: list[ReportData]):
TypeError: 'type' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)

但是,report_data简单地将类型更改list为可以执行,但这不完全是我想要做的。知道发生了什么吗?谢谢。

python python-3.x

3
推荐指数
1
解决办法
1484
查看次数

标签 统计

javascript ×1

python ×1

python-3.x ×1