赞
踩
实现的方式,通过前端请求发生到后台,后台生成pdf文件通过字节流返回给前台实现预览和下载。Java后台就用itextpdf。
1.实现请求后台和下载pdf
// 定义基础URL const baseUrl = process.env.VUE_APP_BASE_API // 拼接完整的URL var url = baseUrl + "你的后台地址" // 使用axios发送POST请求 axios({ method: 'post', url: url, responseType: 'blob', // 将响应类型设置为'blob' data: param, headers: { 'Authorization': 'Bearer ' + getToken() } }).then(response => { // 创建一个新的Blob对象来表示响应数据 const blob = new Blob([response.data], { type: 'application/pdf' }); // 创建一个临时URL来表示这个Blob对象 const url = URL.createObjectURL(blob); // 创建一个<a>元素并设置其href属性为临时URL const link = document.createElement("a"); link.href = url; // 设置download属性以便在用户点击链接时下载文件并将其保存为'zy.pdf' link.download = 'yz.pdf'; // 将链接添加到文档中 document.body.appendChild(link); // 模拟点击链接以下载PDF文件 link.click(); });
2.1实现请求后台和预览再下载pdf
// 定义基础URL const baseUrl = process.env.VUE_APP_BASE_API // 拼接完整的URL var url = baseUrl + "请求地址" // 使用axios发送POST请求 axios({ method: 'post', url: url, responseType: 'blob', // 将响应类型设置为'blob' data: param, headers: { 'Authorization': 'Bearer ' + getToken() } }).then(response => { // 创建一个新的Blob对象来表示响应数据 const blob = new Blob(
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。