首页 > 其他分享 >前端文件下载问题

前端文件下载问题

时间:2022-10-25 17:36:35浏览次数:51  
标签:文件 res 前端 link blob downloadElement document 下载

1, 下载后端返回的blob文件

// 下载blob文件(注意请求需要加上responseType: 'blob')
export const downloadBlob = (res: Blob, fileName: string): void => {
  let blob = new Blob([res])
  let url = window.URL.createObjectURL(blob)
  let downloadElement = document.createElement('a')
  downloadElement.style.display = 'none'
  downloadElement.download = fileName
  downloadElement.href = url
  document.body.appendChild(downloadElement)
  downloadElement.click()
  document.body.removeChild(downloadElement)
}

 

2, 浏览器下载 txt,jpg等文件而不是自动打开预览

// 下载链接内容(解决浏览器下载 txt,jpg等文件自动打开预览页面的问题)
export const downloadLink = (fileUrl: string, fileName: string): void => {
  fetch(fileUrl)
    .then((res) => res.blob())
    .then((blob) => {
      // 将链接地址字符内容转变成blob地址
      const link = document.createElement('a')
      link.href = URL.createObjectURL(blob)
      link.download = fileName
      link.target = '_blank'
      document.body.appendChild(link)
      link.click()
      link.remove()
    })
    .catch(() => {
      alert('下载文件失败')
    })
}

  

标签:文件,res,前端,link,blob,downloadElement,document,下载
From: https://www.cnblogs.com/cuijinlin/p/16825605.html

相关文章

  • java运行环境下载(我的世界Java运行环境)
    Java程序运行环境手机有JAVA扩展功能,是不是还需要JAVA  实现跨平台的就是这个虚拟机,也就java的运行环境.java的工作原理:首先是java程序的源代码(.java文件)→编译→java......
  • jboss下载(jboss安装与配置)
    JBOSS-EAP如何打项目的更新包以下内容以jboss6+1999web控制台部署为前提:js等静态资源的文件可以直接找到jboss目录下的部署解压路径覆盖更新,客户端没有效果就清理下浏......
  • 浅谈文件加密系统那些事...
    ​近来,流程信息化部对文档加密系统的调研工作正在如火如荼的展开。那么为什么我们一定要对文档进行加密呢?文档加密是否会给我们的日常工作带来许多关卡?今天,我们来一起聊一聊......
  • NFS共享文件服务
    一、NFS工作原理1.1NFS介绍NFS(NetworkFileSystem网络文件服务)文件系统(软件)文件的权限NFS是一种基于TCP/IP传输的网络文件系统协议,最初由Sun公司开发,通过使......
  • SpringBoot使用WebUploader做大文件的分块和断点续传
    ​ 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。先说下要求:PC端全平台支持,要求支持Windows,Mac,Linux......
  • git仓库拷贝之后出现大量Modiy状态文件
    git仓库拷贝之后出现大量Modiy状态文件且无法重置,可使用下面一套组合拳RemoveeveryfilefromGit'sindex.gitrm--cached-r.RewritetheGitindextopickupa......
  • QT——保存数据到文件,用户选择保存路径,在该路径下生成指定格式的文件,进行保存数据
    QStringwc_createdata=QFileDialog::getSaveFileName(NULL,QString::fromLocal8Bit("生成报告"),tr(".csv"));if(wc_createdata.at(wc_creat......
  • 使用PdfSharp从模板生成Pdf文件
    ​最近在做一个生成文档的需求。通过先制作一个包含各字段占位符的文档模板,导入这个模板并填写内容替换掉占位符,再输出成最终文件。由于版式固定,安全性更好,业务上常用Pdf......
  • linux下批量删除文件和文件夹
    批量删除trash下的文件夹和文件rsync--delete-before-dtmp/ trash/批量删除trash下的文件rsync--delete-before-a-H-v--progress--stats tmp/ trash/......
  • VMware Aria Suite 8.10 - 云管理解决方案(下载索引)
    请访问原文链接:https://sysin.org/blog/vmware-aria-suite/,查看最新版。原创作品,转载请保留出处。作者主页:www.sysin.org云管理套包VMwareAriaSuite(以前称为vRealiz......