import flask from flask import send_file, make_response app = flask.Flask(__name__) @app.route('/pdf/<report_id>', methods=['GET']) def post(report_id): headers = ("Content-Disposition", f"inline;filename={report_id}.pdf")#文件预览 as_attachment = False # headers = (f"Content-Disposition", f"attachement;filename={report_id}.pdf")#文件下载 # as_attachment = True file_path ='D:\program c\pythonProject\pdf\result_tree{}.pdf'.format(str(report_id)) response = make_response(send_file(filename_or_fp=file_path, as_attachment=as_attachment)) response.headers[headers[0]] = headers[1] return response if __name__ == '__main__': app.run(port=1234)
时间: 2024-04-19 11:29:21 浏览: 48
这段代码使用了Flask框架创建了一个Web应用。它定义了一个路由`/pdf/<report_id>`,当收到GET请求时,会执行`post`函数。在函数内部,它设置了文件的Content-Disposition头部,以指定文件的展示方式(预览或下载)。然后,通过`send_file`函数发送文件给客户端。最后,将设置好的头部添加到响应的headers中,并返回响应。
该应用监听在本地的1234端口,当程序运行时,会启动该Web应用。
需要注意的是,代码中的文件路径`file_path`需要根据实际情况进行修改。
相关问题
from flask import Flask, render_template, request import pandas as pd app = Flask(__name__) @app.route('/') def index(): return render_template("liang.html") if __name__ == '__main__': app.run(debug=True)
这段代码是一个使用Flask框架创建Web应用程序的示例。首先,我们导入了Flask和pandas库,并创建了一个名为app的Flask应用程序。然后,我们定义了一个名为index的路由,该路由返回一个名为liang.html的HTML模板。最后,我们检查当前文件是否为主程序,并在这种情况下运行Flask应用程序,启用调试模式。
请注意,代码中存在一个错误:在第一行中,应该将两个导入语句分开,并在第二行末尾添加一个分号。正确的代码如下所示:
```
from flask import Flask, render_template, request;
import pandas as pd;
app = Flask(__name__)
@app.route('/')
def index():
return render_template("liang.html")
if __name__ == '__main__':
app.run(debug=True)
```
from flask import Flask app=Flask(name) @app.route('/') def TX(): return 'hello' if name=='main': app.run() from flask import Flask
您好!感谢您提供的代码。
在您的代码中,有一些问题需要修正。首先,`Flask` 的构造函数需要传入一个字符串作为应用程序的名称,而不是一个变量。您可以将 `name` 替换为一个字符串,例如 `"__main__"`。
另外,`if name=='main'` 应该改为 `if __name__ == '__main__'`,以判断当前文件是否被直接运行。
修正后的代码如下所示:
```python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def TX():
return 'hello'
if __name__ == '__main__':
app.run()
```
如果您有任何其他问题,请随时提问!
阅读全文