下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

web前端:blob - 二进制文件流下载

作者:下落香樟树     来源: 博客园点击数:2750发布时间: 2020-09-11 09:09:59

标签: 计算机web前端前端开发

Web开发

  二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。

  blob-二进制文件流下载

  /**

  *返回值文件类型为blob二进制流文件

  *responseType:'blob'

  *params接口所需参数

  *命名文件名:依据时间戳命名文件名

  *(导出时需要延迟,否则导出文件失败,默认文件名时直接导出)

  **/

  $axiOS.get(`api`,{

  responseType:'blob',

  params

  }).then((res)=>{

  //response的返回值为二进制文件流

  //创建时间戳

  letdate=newDate(),

  yyyy=date.getFullYear(),

  MM=date.getMonth()+1,

  dd=date.getDate(),

  hh=date.getHours(),

  mm=date.getMinutes(),

  ss=date.getSeconds();

  vartimeStr=`${yyyy}${MM}${dd}${hh}${mm}${ss}`;

  //导出二进制文件

  setTimeout(()=>{

  //创建URL对象URL.createObjectURL(object)

  leturl=window.URL.createObjectURL(res.data);

  letlink=document.createElement('a');

  link.style.display='none';

  link.href=url;

  //指定文件名&文件类型(后缀名)

  letfileName=`Users${timeStr}CN.xls`;

  /**

  *添加属性,并赋指定的值el.setAttribute('download','zzz')

  *demo:<ahref="abc.gif"download="zzz">

  *download属性的值即使当前要导出的文件的文件名

  **/

  link.setAttribute('download',fileName);

  link.click();

  //释放创建的对象(创建的新的URL必须通过该方法释放)

  window.URL.revokeObjectURL(url);

  },500);

  }).catch((err)=>{

  console.log('文件导出失败:',err);

  });

  当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用1来表示“开”,0来表示“关”。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程