烧瓶-生成的PDF可以查看,但不能下载

问题描述

我最近开始学习flask,并创建了一个简单的Web应用程序,该应用程序会根据用户输入随机生成PDF格式的儿童数学工作表。

PDF在浏览器中自动打开并可以查看。但是,当我尝试同时在PC和Chrome iOS上下载该文件时,会收到错误消息(Chrome PC:失败-网络错误/ Chrome iOS:该文件目前无法下载)。

您可以在这里尝试:kidsmathsheets.com

我怀疑这与我生成和返回PDF文件的方式有关。仅供参考,我正在使用ReportLab生成PDF。我的以下代码(托管在pythonanywhere上):

from reportlab.lib.pagesizes import A4,letter
from reportlab.pdfgen import canvas
from reportlab.platypus import Table
from flask import Flask,render_template,request,Response
import io
from werkzeug import FileWrapper

# Other code to take in input and generate data

    filename=io.BytesIO()

    if letter_size:
        c = canvas.Canvas(filename,pagesize=letter)
else:
    c = canvas.Canvas(filename,pagesize=A4)

pdf_all(c,p_set,answer=answers,letter=letter_size)
c.save()
filename.seek(0)
wrapped_file = FileWrapper(filename)

return Response(wrapped_file,mimetype="application/pdf",direct_passthrough=True)

else:
    return render_template('index.html')

您知道导致问题的原因是什么吗?非常感谢您的帮助!

解决方法

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

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

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