vue 文件转换二进制_Vue利用Blob下载原生二进制数组文件
本文实例为大家分享了Vue利用Blob下载原生二进制数组文件的具体代码,供大家参考,具体内容如下
在服务端推送过来的二进制数组(JSON格式),在前端要处理成JS原生数组以后才能做成Blob,有两个地方要注意(详细注释),代码如下:
Vue.prototype.$downloadFile = (filename, data) => {
if (!data) return;
let arr8 = Uint8Array.from(data); //!!!注意1:应根据数据的类型选择适当的JS原生数组类型进行转换,也就是说服务端推送的byte型数组还是int型数组等。
//定义文件内容,类型必须为Blob 否则createObjectURL会报错
let blob = null;
let type = 'application/octet-binary';
if (typeof (window.Blob) == "function") {
blob = new Blob([arr8], {//!!!注意2:数组两边必须加上[]
type: type
});
} else {
let BlobBuilder = window.BlobBuilder || window.MozBlobBuilder || window.WebKitBlobBuilder || window.MSBlobBuilder;
let bb = new BlobBuilder();
bb.append([arr8]);
blob = bb.getBlob(type);
}
let URL = window.URL || window.webkitURL;
let bloburl = URL.createObjectURL(blob);
let anchor = document.createElement("a");
if ('download' in anchor) {
anchor.style.visibility = "hidden";
anchor.href = bloburl;
anchor.download = filename;
document.body.appendChild(anchor);
let evt = document.createEvent("MouseEvents");
evt.initEvent("click", true, true);
anchor.dispatchEvent(evt);
document.body.removeChild(anchor);
} else if (navigator.msSaveBlob) {
navigator.msSaveBlob(blob, filename);
} else {
location.href = bloburl;
} //移除链接释放资源
};
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
vue 文件转换二进制_Vue利用Blob下载原生二进制数组文件相关推荐
- 利用wget下载网页上所有文件到指定文件夹
一.wget下载及安装 参考上一篇:https://blog.csdn.net/Yingccu/article/details/119609655?spm=1001.2014.3001.5502 二. ...
- 文件转换-用于性能测试(将postman导出的.json文件转为jmeter可识别的.jmx文件)
步骤: 1.环境要求(二选一): ①本地配置java开发环境,参考:Java 开发环境配置 | 菜鸟教程 ②若不想配置java开发环境,需要有java的运行环境:jre,下载配置参考:https:// ...
- php处理form多文件上传,ajax利用FormData、FileReader实现多文件上传php获取
前台代码(注意,不需要用到form标签): a. html部分: b. js部分: c. 完整代码: function loadDoc(file,data,async=true){ if(window ...
- java文件异步上传_[Java教程]原生javascript实现文件异步上传
[Java教程]原生javascript实现文件异步上传 0 2017-10-25 19:00:06 效果图: 代码:(demo33.jsp) demo33.jsp名称文件确定 本文网址:http:/ ...
- element vue 上传模板_Vue Element UI upload 组件上传文件之后 file list 依旧是空数组
在 element ui 的 GitHub issue 中搜索了一下,发现 upload 组件确实不支持自动更新 file list,需要手动在上传成功和删除的回调中处理文件列表同步... 这个体验太 ...
- 用文件流下载文件( Blob)时各种类型文件的 type 整理
在 VUE 项目中,常用 Blob 二进制数据做文件下载的功能,涉及不同后缀的文件,但是每当设置转换的文件类型的时候就很头疼,因为这东西平时也不怎么常见,这里我参考 Blob 配置整理了一份,方便以后 ...
- 基于python的文件加密传输_python 利用Crypto进行AES解密加密文件
背景:工作需要,部分数据进行了加密传输,对方使用了AES对密码进行了加密,需要获取到解密的数据. 目标:通过密钥成功解密文件. 关键词:AES_ECB,AES_CBC,Java和Python的AES加 ...
- vce 题库导入_VCE Converter下载|VCE题库文件转换工具最新免费版V1.0 下载_当游网...
VCE题库文件转换工具是一款电脑文件转换软件,该工具可以将VCE格式文件转换为VCEM格式,是Visual CertExam用户的必备软件,快下载使用吧! 软件介绍 VCE Converter官方版是 ...
- 怎么把图片文件转换成PDF文件
除了office文件外,我们最常用的就是PDF文件了.因为PDF文件格式可以将文字.字型.格式.颜色及独立于 设备和分辨率的图形图像等封装在一个文件中.该格式文件还可以包含超文本链接.声音和动态影像等 ...
最新文章
- 搜狗手机输入法php,在线调用搜狗云输入法
- python解释器环境中、用于表示上一次_大工20秋《数据挖掘》在线作业3 【标准答案】...
- intellij idea 1314 插件推荐及快速上手建议
- PAT1041 考试座位号 (15 分)
- 叹息“博客园”的凋零
- phpeditor编写php_php常用开发编辑器(ide)
- 服务器虚拟化nas存储服务器搭建,采用NAS架构优化VMware服务器虚拟化环境的存储管理.pdf...
- Salesforce即将推出Einstein人工智能CRM平台
- java程序包r不存在_java - 从命令行使用Gradle构建时,“程序包R不存在”错误 - 堆栈内存溢出...
- 图书管理系统UML课程设计
- 花两个月吃透京东T8推荐的178页京东基础架构建设之路,入职定T5
- 苹果12开发者设置_App怎么上架到苹果商店(app store)?上架app的流程。
- 【游戏客户端】制作节奏大师Like音游(上)
- 史蒂夫·乔布斯传记_Chapter 4: Atari and India
- 黄山杭州五日游攻略,厦门出发
- Python编程之求自由落体高度
- windows多进程探测存活主机
- Photozoom2020汉化免费下载图片放大软件使用教程
- IDC许可证 互联网数据中心业务 增值电信业务许可证 办理流程
- 卡丽来相片卡拉OK VCD制作系统破解版(大型)
热门文章
- leetcode 215. 数组中的第 K个最 大的元素(堆排序,C语言)
- 1.8. subshell
- kafka Failed to send producer
- 娱乐开源commons-email-1.x包
- Alamofire4.x开源代码分析(三)文件上传下载
- js条件判断时隐式类型转换
- I/O复用模型之select学习
- 《网管员必读——网络基础》(第2版)电子课件下载
- bigdicmal除法精度设置_java中BigDecimal进行加减乘除的基本用法
- c语言中元音字母对应的的值,全国计算机等级考试二级C语言南开上机百题改错题第59...