如何将 pdf 从烧瓶发送到 JavaScript?

问题描述

这是我的python3烧瓶代码

@app.route('/convert',methods = ['POST'])
def convert():
    if('files[]' not in request.files):
        return "No files chosen!"

    files = request.files.getlist('files[]')

    pdf_bytes = img2pdf.convert(files[0])

    return send_file(FileWrapper(BytesIO(pdf_bytes)),mimetype = 'application/pdf')

这是我的 JavaScript Ajax 代码

$.ajax
    (
      {
        url : '/convert',method : 'POST',data : form_data,cache : false,contentType : false,dataType : false,processData : false,responseType : 'blob',error : function(jqXHR,textStatus,errorThrown)
        {
          console.log("ERROR!");
          alert(textStatus.toString() + ' ' + errorThrown.toString());
        },success : function(res)
        {
          console.log("Response : \n",typeof res)
          console.log(res)
          var blob = new Blob([res],{type: "application/pdf"});
          var url = window.URL.createObjectURL(blob);
          var link = document.createElement('a');
          document.body.appendChild(link);
          link.style = "display: none";
          link.href = url;
          link.download = "pdf_output.pdf";
          link.click();
        }
      }
    )

'pdf_bytes' 保存转换后的 pdf 的二进制字符串格式。我希望能够将其作为 pdf 文件返回或按原样发送到 JavaScript,然后提取 pdf 并在那里下载。 我已经尝试了很多东西,但似乎没有任何效果,就像上面的结果导致下载一个空的 pdf。 请帮助我并提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...