赞
踩
在做网站的过程中,遇到预览和下载的需求是很常见的,在此记录实现过程,以供有需要的朋友使用和学习。
接口返回的报文示例如下图,为文件流格式:
以下为下载实现代码,根据备注稍作修改即可直接使用:
- // 下载
- ticketFaceDownload() {
- this.$http({
- url: "/xxxxxx/xxxxx/xxxxx", // 接口地址
- method: "get",
- responseType: "blob", // 需要加上
- params: { // 接口需要的参数,视个人情况而定
- ticketBizId:this.ViewData.ticketId,
- packageNo: this.ViewData.superInfoList[0].packageNo,
- ticketRange: this.ViewData.superInfoList[0].ticketRange
- },
- }).then((res) => {
- const blob = new Blob([res.data]); //excel,pdf等
- const href = URL.createObjectURL(blob); //创建新的URL表示指定的blob对象
- const a = document.createElement("a"); //创建a标签
- a.style.display = "none";
- a.href = href; // 指定下载链接
- a.download = '票面凭证.pdf'; //指定下载文件名
- a.click(); //触发下载
- URL.revokeObjectURL(a.href); //释放URL对象
- });
- },
以下为预览实现代码,根据备注稍作修改即可直接使用:
- // 预览
- ticketFaceView() {
- this.$http({
- url: "/xxxxxx/xxxxx/xxxxx", // 接口地址
- method: "get",
- responseType: "blob", // 需要加上
- params: { // 接口需要的参数,视个人情况而定
- ticketBizId:this.ViewData.ticketId,
- packageNo: this.ViewData.superInfoList[0].packageNo,
- ticketRange: this.ViewData.superInfoList[0].ticketRange
- },
- }).then((res) => {
- const pdfFile = window.URL.createObjectURL(
- new Blob([res.data], { type: "application/pdf" })
- );
- // 跳转页面预览
- window.open(pdfFile);
- URL.revokeObjectURL(pdfFile); //释放URL对象
- });
- },
以上就是今天的所有内容啦,再会朋友们。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。