美文网首页
前端文件下载总结

前端文件下载总结

作者: 沉默固执老阿姨 | 来源:发表于2023-07-25 16:32 被阅读0次

1、通过post接口获取blob二进制流。js将获取到的blob转化成url.赋值给a标签,浏览器识别到blob格式的url,将自动下载数据。

优点:token校验和参数将丢在body里面,无法抓包获取用户的token。

缺点:通过post获取blob,因为是http网络请求,用户无法感知当前下载进度;需要下载的文件过大,再下载完全文件之前,浏览器会一直存储blob,导致越来越慢,有撑爆的可能;再下载完之前,用户刷新页面,会导致之前的存储的blob 丢失。

axios请求设置:

return service({

        url: '/xxxx/url',

        method: 'post',

        responseType: 'blob',//表明接受二进制流数据

        data   

})

下载代码:

let url = window.URL.createObjectURL(new Blob([blob])) ;

let link = document.createElement('a'); 

link.download = 'xxx.png' ;

link.style.display = 'none' ;

link.href = url ;

document.body.appendChild(link) ;

link.click() ;

document.body.removeChild(link) ;

window.URL.revokeObjectURL(url);

2、通过get方式下载文件

优点:点击下载之后,浏览器将接管下载的流程,展示下载的进度。用户刷新不影响浏览器已经接管的任务。

缺点:数据传参将附在url之上,抓包可能会获取到用户的token信息。

export const downloadFileByUrlIframe = (url, triggerDelay, removeDelay) =>{

  setTimeout(() => {

    const iframe = document.createElement("iframe");

    iframe.style.display = "none";

    iframe.style.height = 0; 

    iframe.src = url;

    document.body.appendChild(iframe);

    setTimeout(() => {

      iframe.remove();

    }, removeDelay); 

}, triggerDelay);}

相关文章

  • 文件上传与下载

    文件上传 前端页面 Action处理类 struts.xml 文件下载 前端页面 处理下载请求的action st...

  • 前端文件下载的几种方式

    前端开发中,经常遇到文件下载的功能。这里对常见的文件下载方式做一些总结。 一、直接下载 针对一些浏览器无法识别的文...

  • js blob导出文件 文件下载 中文乱码的问题

    需求:后端文件以二进制流的形式返回给前端, 前端需要读取流文件实现文件下载。 场景:下载成功,文件乱码。 原因:与...

  • 发现•分享—2019-01-18~2019-01-21

    工具 这应该是你见过的最全前端下载总结 爬取掘金小册,并将 html 文件转为 markdown 格式文件 910...

  • 前端文件下载

    最近做项目遇到要把文件放在前端项目中,然后点击下载完整代码: 先把文件放在静态目录src/assets里面 通过i...

  • Vue-纯前端导出word文档

    在项目中,我们可以借助后端返回文件流实现文件下载。如果前端有数据,也可以借助前端框架进行下载。本文将介绍如何在前端...

  • Vue-纯前端导出word文档

    在项目中,我们可以借助后端返回文件流实现文件下载。如果前端有数据,也可以借助前端框架进行下载。本文将介绍如何在前端...

  • 前端下载文件无法打开

    前端下载文件无法打开 在开发过程中遇到下载功能,后端直接从服务器拉文件是可以打开的,前端通过接口下载的文件打开报错...

  • xlsx.js excel文件下载

    excel 文件的下载 前端 后端导出 excel

  • 前端下载文件

    前端创建下载窗口 流文件下载 接口 如果返回的是网址

网友评论

      本文标题:前端文件下载总结

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