问题描述
我最近开始学习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 (将#修改为@)