首页 > 其他分享 >原生js base64格式数据 下载

原生js base64格式数据 下载

时间:2024-04-23 17:23:38浏览次数:27  
标签:原生 base64Str base64 js link var document

原生js base64格式数据 下载

/**
 * 封装base64Str blob对象
 * */
function base64toBlob (base64Str) {
  var bstr = atob(base64Str), n = bstr.length, u8arr = new Uint8Array(n);
  while (n--) {
    u8arr[n] = bstr.charCodeAt(n);
  }
  return new Blob([u8arr]);
}
/**
 * 下载文件 base64 数据,文件名(包括后缀)
 * */
function download(base64Data,fileName){
  var myBlob = base64toBlob(base64Data);
  var myUrl = URL.createObjectURL(myBlob);
  var link = document.createElement("a");
  link.href = myUrl;
  link.download = fileName;
  document.body.appendChild(link);
  link.click();
  document.body.removeChild(link);
}

标签:原生,base64Str,base64,js,link,var,document
From: https://www.cnblogs.com/qx-blog/p/18153327

相关文章

  • 【前端】纯JS实现文本对比高亮显示
    1.参考demo1-1、连接:http://incaseofstairs.com/jsdiff/1-2、例子:2.页面<!DOCTYPEhtml><!--savedfromurl=(0033)http://incaseofstairs.com/jsdiff/--><html><head><metahttp-equiv="Content-Type"content="text/html;chars......
  • 面试官:在原生input上面使用v-model和组件上面使用有什么区别?
    前言还是上一篇面试官:来说说vue3是怎么处理内置的v-for、v-model等指令?文章的那个粉丝,面试官接着问了他另外一个v-model的问题。面试官:vue3的v-model都用过吧,来讲讲。粉丝:v-model其实就是一个语法糖,在编译时v-model会被编译成:modelValue属性和@update:modelValue事件。一......
  • 前端在浏览器显示摄像头传回的RTSP视频流,前端采用的技术有VUE+video.js+flv.js
    在前端使用Vue.js框架,结合video.js和flv.js播放RTSP视频流,需要经过一系列步骤,因为浏览器并不能直接播放RTSP流,所以通常需要一个服务器来将RTSP流转为HLS或FLV格式,然后前端再通过flv.js播放。以下是一个基于此思路的基本实现指南:确保你已经安装了Vue.js、video.js、flv.js相关的依......
  • JS基础(二)运算符、流程控制语句、数组对象、JSON对象、Date对象、Math对象、Function对
    一运算符<script>//算数运算符//(1)自加运算varx=10;//x=x+1;//x+=2;varret=x++;//先赋值再计算:x+=1//varret=++x;//先计算再赋值:x+=1console.log(x)......
  • 模块与包、json模块
    【一】模块与包介绍【1】什么是模块在Python中,一个py文件就是一个模块,文件名为xxx.py,模块名则是xxx,导入模块可以引入模块中已经写好的功能。如果把开发程序比喻成制造一台电脑编写模块就像是在制造电脑的零部件准备好零件后,剩下的工作就是按照逻辑把它们组装到一起。将......
  • 替换 sun.misc.BASE64Encoder
    原因java1.8版本后的jdk已经不再支持sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。 解决使用 org.apache.commons.codec.binary.Base64替换:1/**2*BASE64解码3*/4publicstaticbyte[]decryptBASE64(Stringkey)throwsException......
  • js常见问题
    Chrome88后更新了更为激进的省电策略[1],导致后台非活动页面中setInterval、setTimeout回调的执行间隔拉长到1分钟以上。这里有一种很巧妙的方法可以强制标签页不进入非活动状态(利用了播放视频时标签页不会休眠的机制),而且不需要改动业务代码,只需要将下面的代码放到页面JS脚本中执......
  • 使用js语文json字符串通过get方式传值,然后用request接收
    在JavaScript中,如果你有一个JSON字符串,并且你想通过GET请求或者其他HTTP请求来传递这个字符串,你可以使用encodeURIComponent函数来确保字符串能够安全地通过URL传输。//假设我们有一个JSON对象constjsonObject={name:"John",age:30,city:"NewYork"};//将......
  • js逆向实战之一品威客signature参数解密
    url:https://www.epwk.com/login.html分析过程输入用户名和密码,看触发的流量包。signature参数明显是被加密过的,接下来就是去寻找加密的过程。关键词搜索signature。有两处,第二处是个固定值不需要看,关注点在第一处。点进去看对应的代码,并打断点,重新登录,触发该断点。......
  • js递归实现深拷贝
    functiongetType(data){returnObject.prototype.toString.call(data).replace(']','').substring(8)}function_clone(data,res){consttype=getType(data)if(type==='Object'){Object.keys(data).map(i=>{......