You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flask中实现点击打开PDF文件到新标签页

解决方案

你当前编写的/my_cv后端路由逻辑完全正常,不需要修改,你之前尝试的两种方案本身就不适配当前需求:

  • webbrowser.open_new_tab是Python调用本地系统浏览器的工具库,作用是在运行Flask服务的机器上打开浏览器标签,和用户端的浏览器行为完全无关,不要在Web后端逻辑中使用该方法
  • redirect是服务端路由跳转方法,也无法控制用户端浏览器的页面打开方式

正确实现步骤
  1. 后端逻辑保持现有代码不变即可
  2. 找到首页模板中指向/my_cv的链接元素,给它添加target="_blank"属性即可实现新标签页打开效果,示例代码:
<!-- 首页模板跳转链接写法 -->
<a href="/my_cv" target="_blank">查看我的简历(新标签页打开)</a>

可选优化(按需使用)

如果后续你需要让用户点击后直接下载PDF而不是在浏览器内预览,可以修改后端路由的返回参数:

@app.get("/my_cv")
def my_cv():
    workingdir = os.path.abspath(os.getcwd())
    filepath = workingdir + '/static/files/'
    return send_from_directory(filepath, 'DanielTurnerCV.pdf', as_attachment=True)

内容的提问来源于stack exchange,提问作者DannTurner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:27:03