本文实例为大家分享了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下载原生二进制数组文件相关推荐

  1. 利用wget下载网页上所有文件到指定文件夹

    一.wget下载及安装 参考上一篇:https://blog.csdn.net/Yingccu/article/details/119609655?spm=1001.2014.3001.5502 二. ...

  2. 文件转换-用于性能测试(将postman导出的.json文件转为jmeter可识别的.jmx文件)

    步骤: 1.环境要求(二选一): ①本地配置java开发环境,参考:Java 开发环境配置 | 菜鸟教程 ②若不想配置java开发环境,需要有java的运行环境:jre,下载配置参考:https:// ...

  3. php处理form多文件上传,ajax利用FormData、FileReader实现多文件上传php获取

    前台代码(注意,不需要用到form标签): a. html部分: b. js部分: c. 完整代码: function loadDoc(file,data,async=true){ if(window ...

  4. java文件异步上传_[Java教程]原生javascript实现文件异步上传

    [Java教程]原生javascript实现文件异步上传 0 2017-10-25 19:00:06 效果图: 代码:(demo33.jsp) demo33.jsp名称文件确定 本文网址:http:/ ...

  5. element vue 上传模板_Vue Element UI upload 组件上传文件之后 file list 依旧是空数组

    在 element ui 的 GitHub issue 中搜索了一下,发现 upload 组件确实不支持自动更新 file list,需要手动在上传成功和删除的回调中处理文件列表同步... 这个体验太 ...

  6. 用文件流下载文件( Blob)时各种类型文件的 type 整理

    在 VUE 项目中,常用 Blob 二进制数据做文件下载的功能,涉及不同后缀的文件,但是每当设置转换的文件类型的时候就很头疼,因为这东西平时也不怎么常见,这里我参考 Blob 配置整理了一份,方便以后 ...

  7. 基于python的文件加密传输_python 利用Crypto进行AES解密加密文件

    背景:工作需要,部分数据进行了加密传输,对方使用了AES对密码进行了加密,需要获取到解密的数据. 目标:通过密钥成功解密文件. 关键词:AES_ECB,AES_CBC,Java和Python的AES加 ...

  8. vce 题库导入_VCE Converter下载|VCE题库文件转换工具最新免费版V1.0 下载_当游网...

    VCE题库文件转换工具是一款电脑文件转换软件,该工具可以将VCE格式文件转换为VCEM格式,是Visual CertExam用户的必备软件,快下载使用吧! 软件介绍 VCE Converter官方版是 ...

  9. 怎么把图片文件转换成PDF文件

    除了office文件外,我们最常用的就是PDF文件了.因为PDF文件格式可以将文字.字型.格式.颜色及独立于 设备和分辨率的图形图像等封装在一个文件中.该格式文件还可以包含超文本链接.声音和动态影像等 ...

最新文章

  1. 搜狗手机输入法php,在线调用搜狗云输入法
  2. python解释器环境中、用于表示上一次_大工20秋《数据挖掘》在线作业3 【标准答案】...
  3. intellij idea 1314 插件推荐及快速上手建议
  4. PAT1041 考试座位号 (15 分)
  5. 叹息“博客园”的凋零
  6. phpeditor编写php_php常用开发编辑器(ide)
  7. 服务器虚拟化nas存储服务器搭建,采用NAS架构优化VMware服务器虚拟化环境的存储管理.pdf...
  8. Salesforce即将推出Einstein人工智能CRM平台
  9. java程序包r不存在_java - 从命令行使用Gradle构建时,“程序包R不存在”错误 - 堆栈内存溢出...
  10. 图书管理系统UML课程设计
  11. 花两个月吃透京东T8推荐的178页京东基础架构建设之路,入职定T5
  12. 苹果12开发者设置_App怎么上架到苹果商店(app store)?上架app的流程。
  13. 【游戏客户端】制作节奏大师Like音游(上)
  14. 史蒂夫·乔布斯传记_Chapter 4: Atari and India
  15. 黄山杭州五日游攻略,厦门出发
  16. Python编程之求自由落体高度
  17. windows多进程探测存活主机
  18. Photozoom2020汉化免费下载图片放大软件使用教程
  19. IDC许可证 互联网数据中心业务 增值电信业务许可证 办理流程
  20. 卡丽来相片卡拉OK VCD制作系统破解版(大型)

热门文章

  1. leetcode 215. 数组中的第 K个最 大的元素(堆排序,C语言)
  2. 1.8. subshell
  3. kafka Failed to send producer
  4. 娱乐开源commons-email-1.x包
  5. Alamofire4.x开源代码分析(三)文件上传下载
  6. js条件判断时隐式类型转换
  7. I/O复用模型之select学习
  8. 《网管员必读——网络基础》(第2版)电子课件下载
  9. bigdicmal除法精度设置_java中BigDecimal进行加减乘除的基本用法
  10. c语言中元音字母对应的的值,全国计算机等级考试二级C语言南开上机百题改错题第59...