通过window.open下载pdf或直接打开文件
通过window.open下载pdf或直接打开文件
后端设置
@RestController
@RequestMapping("/print")
public class PrintController {@GetMapping("/out")public void out(PrintVo vo, HttpServletResponse response) throws IOException {response.addHeader("content-disposition", "inline;filename=file.pdf");response.setContentType("application/pdf");// 这里生成pdf 并写入了 response.getOutputStream()PrintOutUtil.generatePdf(data, modelPath, outFilePath, response.getOutputStream());response.getOutputStream().flush();response.flushBuffer();}
}
前端设置
window.open(window.origin + '/dev-api/print/out','_blank');
总结
1、content-disposition 设置
content-disposition的属性设置成inline,代表在浏览器中打开文件。
2、ContentType 设置
ContentType 需要设置成application/pdf,代表文件类型为pdf。
3、如果是在新窗口直接下载,content-disposition的属性设置成attachment。
response.addHeader("content-disposition", "attachment;filename=file.pdf");
通过window.open下载pdf或直接打开文件相关推荐
- 关于WebView加载H5页面下载文件和下载完毕后自动打开文件
前段时间有个项目需要在H5页面里下载文档文件,由于项目需求这里采用Android系统自带DownloadManager来进行后台自动下载管理,我们只需要稍微设置几个参数就进行文件下载了,并且下载进行时 ...
- 使用js直接下载pdf文件而不用在新的浏览器窗口打开
最近接了一个需求,要求用户点击下载按钮后直接下载pdf文件,而不是打开一个新窗口,让用户再去手动保存. 接到需求后我立刻着手在网上查找文档,发现很多声称可以实现直接下载的方法都不行,只有下面这个方法成 ...
- 安卓从服务器中下载pdf文件 然后调用第三方软件WPS Office打开
安卓从服务器中下载pdf文件 然后调用第三方软件WPS Office打开 前提: 高版本想使用Uri.fromFile() file://的形式 需要在onCreate 或init方法中添加下面代码. ...
- 下载PDF文件成功,但是无法完成打开
问题描述 下载PDF文件成功,但是无法完成打开,抓包response有文件下载的链接地址 原因分析: 前端下载方式选择不当,有链接地址可以直接使用window.open(返回的链接地址)进行下载,若返 ...
- 纯前端下载pdf链接文件,而不是打开预览的解决方案
纯前端下载pdf链接文件,而不是打开预览的解决方案 参考文章: (1)纯前端下载pdf链接文件,而不是打开预览的解决方案 (2)https://www.cnblogs.com/jackson-yqj/ ...
- xamarin android pdf,Xamarin.Android - 下载pdf和视频到应用空间并打开
1. 下载创建本地应用内文件时,创建模式必须为 FileCreationMode.WorldReadable Stream fos = OpenFileOutput(pdfName, FileCrea ...
- js下载PDF文件流,打开空白问题
记录一下前端下载后端返回的pdf文件流,显示空白问题. const blob = new Blob([content.data], {// type是需要对应的文件类型type:"appli ...
- Edge下载pdf而不是在线打开
进入设置 搜索"pdf" 右侧搜索结果下滑,找到"pdf文档",点进去 打开"始终下载PDF文档"
- C#下载http/https的pdf、excel等文件(非在线打开,绕开插件)
非本服务器文件,如PDF,excel等,下载一般是通过href='远程文件的http或者https'的方式下载,但是如果浏览器已经有PDF插件了,则用href不是下载,而是在线打开了,影响体验,所以远 ...
最新文章
- Python的基础,Python的101
- 多线程中使用UNITY变量导致线程执行断掉却又不报错的问题
- ​“免疫杀手” Deep X-RAY
- 老九java线上,老九 - SegmentFault 思否
- Teams Bot开发系列:Bot验证
- Java基础---面向对象(OOP)
- “1天一朵云”,这是如何做到的?
- 手动搭建vue2框架还有vue3框架
- Markdown list状态下插入代码
- 鸿蒙熔炉是真实存在的吗,古董局中局父辛爵是真的吗 父辛爵真实存在国内仅有两件...
- C#判断当前系统当前时区是否使用夏令时(夏时制)
- Linux在sudo apt-get update或install时出现archive.ubuntu.com连接失败 [IP: 91.189.91.39 80]的错误解决方案
- 【基本办公软件】万彩办公大师教程丨高级计算器的应用
- python3安装PIL
- 使用调色板绘制系统界面
- iOS 入门开发踩坑实录
- hcna网络技术学习指南_网络工程与弱电工程师有什么区别?这些你都会吗
- Js版本的打老鼠游戏--这里简单用一个图标表示老鼠 关键字:js对表格进行动态创建
- HTML练习---QQ号码申请
- Codeforces Round #782 (Div. 2) C. Line Empire
热门文章
- 危险的外围设备:Windows和Linux系统的计算机内部安全隐患研究
- 环境变量的作用,为什么要设置环境变量
- AMD的GPU拿来跑深度学习?Rocm3.0Pytorch@Ubuntu16编译实录
- 大数据学习系列(九)Hadoop1.X痛点分析及Hadoop2.X提出的解决方案
- 知云文献翻译打不开_推荐一款文献翻译软件,免费又高效的那种
- openlayers加kriging出等值线图
- java版 我的世界 win10_我的世界win10版
- Liunx配置yum源与本地配置yum源
- 中投董事长:黑石是很好投资 持有两房债会赚钱
- caffe中的concate层