首页 > 其他分享 >js将后端返回的文件流导出,并自定义下载文件名(pdf导出)

js将后端返回的文件流导出,并自定义下载文件名(pdf导出)

时间:2023-04-18 11:26:55浏览次数:31  
标签:const string 自定义 url 导出 js link blob filename

这里调接口时记得加上responseType: 'blob'

/**
 * @description: 下载文件
 * @param {string} data 文件流
 * @param {string} filename 文件名
 * @return {*}
 */
export function downloadFile(data: string, filename: string) {
  const blob = new Blob([data])
  const url = window.URL.createObjectURL(blob) // pdf有url的可直接使用url
  const link = document.createElement('a')
  link.style.display = 'none'
  link.href = url
  link.setAttribute('id', 'pdfID')
  link.setAttribute('download', filename)
  document.body.appendChild(link)
  link.click()
  setTimeout(() => {
    document.body.removeChild(link)
    window.URL.revokeObjectURL(url)
  }, 0)
}

标签:const,string,自定义,url,导出,js,link,blob,filename
From: https://www.cnblogs.com/haPro/p/17328891.html

相关文章

  • Three.js教程:自定义顶点UV坐标
    推荐:将NSDT场景编辑器加入你的3D工具链其他工具集:NSDT简石数字孪生自定义顶点UV坐标学习自定义顶点UV坐标之前,首先保证你对BufferGeometry的顶点数据、纹理贴图都有一定的理解。#顶点UV坐标的作用顶点UV坐标的作用是从纹理贴图上提取像素映射到网格模型Mesh的几何体表面上。浏览器......
  • js中 ?? 与 || 的区别
    都是根据前面的值来判断最终返回前面的值还是后面的值。a??ba||b判断的方法不同:使用??时,只有a为null或者undefined时才会返回b;使用||时,a会先转化为布尔值判断,为true时返回a,false返回b.??更加适合在不知道变量是否有值时使用//??undefined??2 ......
  • MySQL导入导出 —— mysqldump 简介及常见用法
    一、导出导出用户需要有导出对象的权限,例如导出表要有select权限、导出视图要有showview权限、导出触发器要有trigger权限、需要锁表时要有locktables权限等。如果dump文件中包含了GTID信息,则无法导入到未启用GTID的数据库(低于5.6.9版本的数据库不支持GTID,因此也无法导入到这些......
  • 基于DotNetCoreNPOI封装特性通用导出excel
    基于DotNetCoreNPOI封装特性通用导出excel目前根据项目中的要求,支持列名定义,列索引排序,行合并单元格,EXCEL单元格的格式也是随着数据的类型做对应的调整。效果图:调用方式可以看到时非常容易的能够导出数据,实际调用可能就三四句话//你的需要导出的数据集合,这里的......
  • 使用whoops作为tp6的自定义异常
    安装composerrequirefilp/whoops在app/ExceptionHandle.php中的renderpublicfunctionrender($request,Throwable$e):Response{//添加自定义异常处理机制if(ENV('APP_DEBUG')){//如果是HttpResponseException异常则原样输出//JUMP插......
  • java如何将JSONObject转成实体对象
    importcom.google.gson.Gson;importorg.json.JSONObject;//...JSONObjectjson=newJSONObject("{\"name\":\"JohnSmith\",\"age\":30}");Gsongson=newGson();Personperson=gson.fromJson(json.toString()......
  • js颜色的单词名称字符串转为rgb颜色值
    将js单词名称如red,green,blue转为rgb颜色值,暂时没找到什么特别的方法。网上找到了颜色名称与rgb值的对应表,然后构造成map获取rgb值。代码放在:https://github.com/lxmghct/my-vue-componentssrc/utils/color_convert.js下。完整代码如下:constname2rgbMap={ 'aliceblu......
  • wangeditor5 vue2 安装后运行报错 Error in ./node_modules/@wangeditor/editor/d
    问题解决方法:原因就是引入的链接不对,使用cnpm、npm、pnpm、yarn安装插件的时候,路径都是不一样的,所以要对应着改路径就可以了链接:https://github.com/wangeditor-team/wangEditor/issues/4041......
  • 开发在线客服系统聊天界面,JS实现相邻两条消息之间间隔小于3分钟,就不展示消息时间
    我在开发一个客服聊天界面,每条消息都有发送时间,我想要实现相邻两条消息之间间隔小于3分钟的就不展示发送时间.下面就是消息的JSON结构,里面的time就是发送时间message={"msg_id":629255,"time":"2023-02-1100:41:04","content":"chatGPT","mes_type":"vi......
  • RobotJS截取屏幕screen.capture踩坑
    调用robot.screen.capture()或robot.screen.capture(0,0,1920,1080),返回的Bitmap对象是色彩格式是BGR色彩,这导致了如果未经处理就直接生成图像,色彩会产生错误,只需将BGR色彩转换成RGB色彩即可。constrobot=require('robotjs');constjimp=require("jimp");constswapR......