美文网首页
文件下载(获取响应头里的数据 Content-Dispositi

文件下载(获取响应头里的数据 Content-Dispositi

作者: 月下小酌_dbd5 | 来源:发表于2023-03-06 18:00 被阅读0次
  • 如果前端想要获取到响应头response中获取自定义headers需要后端设置一下 Access-Control-Expose-Headers : '自定义属性名'
//这里  我需要获取response里headers的Content-Disposition  所以后端需要设置如下:
response.setHeader( "Access-Control-Expose-Headers ", "Content-Disposition" );
image.png
  • 前端下载接口 需要添加 responseType:'blob'
//request 是axios封装好的
...
 export function download(id:number) {
  return request({
    url: '/omc-server/data/backupDataRecord/download/'+id,
    responseType:'blob',
    method: 'get'
  })
}

  • 调接口
const onDownloadHandle = (node: BackupRecoveryRecord) => {
  systemBackupDownload(node.id).then(response => {
    let fileName = ''
    let temp = response.headers['content-disposition']
    let filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;
    let matches = filenameRegex.exec(temp);
    if (matches != null && matches[1]) {
      fileName = matches[1].replace(/['"]/g, ''); //  解析出文件名 Backup-20230307152152.tgz
    }
    //调用成功,在html中创建一个a元素
    let aTag = document.createElement('a');
    //创建一个blob对象
    let blob: any = new Blob([response.data]);
    aTag.download = fileName + '.tgz'; // 下载的文件名
    aTag.href = URL.createObjectURL(blob);   //创建一个URL对象
    aTag.click();
    URL.revokeObjectURL(blob);          //释放URL对象
    
  }).catch(err => console.log(err))
}
  • 下载成功
image.png

相关文章

  • iOS下载注意点

    1、获取总文件大小用HEAD请求方式,减少响应数据,只获取文件本身属性 2、单文件下载,一组文件下载,多组任务下载...

  • responseType使用post方法下载文件

    使用post下载后端返回的excel文件踩的坑。获取到数据之后下载打不开文件,提示格式错误,响应数据类型是appl...

  • 如何下载文件?为什么是乱码?

    1,这里有一个坑,文件名要设置 文件名在响应头里面,要从响应头里面拿 看一下响应头,响应的是那种格式文件。 请求头...

  • 流文件导出直接下载

    文件的异步导出,此处是采用post的方法导出excel 调用接口获取流文件之后获取数据,进行下载处理 文件下载ok

  • Basic--日志,响应时间,数据抓取

    base_moudle.py 日志文件输出,使用装饰器获取响应时间 抓取数据

  • 第0关 认识爬虫-课后习题

    一、文本下载题目要求:获取文章《HTTP状态响应码》全部内容,并且打印出全文内容。获取数据:文本URL:https...

  • ABAP将内表数据写入到Excel模板

    下载模板文件前获取一下文件的存放位置: 下载模板: 通过OLE方式将内表数据写入到模板文件中:

  • iOS 版本升级提示功能封装

    相关知识点 获取商店应用版本信息 具体数据结构 商店下载地址 获取当前版本 源代码 .h文件 .m文件

  • 爬虫的概念

    爬虫是模拟浏览器发送请求,获取响应 爬虫的流程 url--->发送请求,获取响应--->提取数据---》保存数据 ...

  • 数据清洗流程

    需求 给你一个包含一万五行的excel文件。根据每行的数据作为请求参数,去请求指定接口,获取响应数据,对数据进行解...

网友评论

      本文标题:文件下载(获取响应头里的数据 Content-Dispositi

      本文链接:https://www.haomeiwen.com/subject/fkklortx.html