python在web服务中以字节形式发送pdf

2024-06-24 13:29:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我用来构建一个响应为application-jsonmime类型的web服务。 但是现在我想以字节的形式响应PDF,所以我假设必须更改mime类型。 我将使用路由,但我也可以使用flask restful。在

下面的代码显示了结构,但我不知道如何将pdf转换为字节,然后再发送它。在

@app.route('/pdf/myfile')
def pdf():
  data = open("myfile.pdf", "rb").read()
  # make a reponse with those bytes
  return response

在客户端(angular.js)中,我将有以下内容:

^{pr2}$

Tags: 代码webrestfulflask路由类型字节pdf
1条回答
网友
1楼 · 发布于 2024-06-24 13:29:34

您可以使用^{}^{}

from flask import send_from_directory

@app.route('/pdf/myfile')
def pdf():
    return send_from_directory('/dir/of/pdf', 'my.pdf')

默认情况下,这将以内联方式发送文件,浏览器可能会呈现PDF本身。如果设置as_attachment=True,文件将以附件的形式显示,浏览器将弹出“另存为”对话框。在

send_file使您能够更好地控制mime类型和缓存。默认值应该可以正常工作。在

相关问题 更多 >