Vue实现文件上传和下载功能
本文实例为大家分享了Vue实现文件上传和下载功能的具体代码,供大家参考,具体内容如下
1、a标签download属性
在H5中,为a标签新增了一个download属性,来直接文件的下载,文件名就是download属性文件名。
- download属性暂时只支持Google Chrome 和 Mozilla Firefox,其他浏览器均不支持该属性;
- download是H5新增的属性,H5以前没有该属性;
URL.createObjectURL()方法会根据传入的参数创建一个指向该参数对象的URL,这个URL的生命仅存在于它被创建的这个文档里,新的对象URL指向执行的File对象或者是Blob对象。
【Vue实现文件上传和下载功能】File对象,就是一个文件,比如我用input type="file"标签来上传文件,那么里面的每个文件都是一个File对象。
Blob对象,就是二进制数据,比如通过new Blob()创建的对象就是Blob对象,又比如在XMLHttpRequest里,如果指定responseType为blob,那么得到的返回值也是一个blob对象。
let URL = window.URL || window.webkitURL; let downloadUrl = URL.createObjectURL(blob || file);
3、URL.revokeObjectURL
URL.revokeObjectURL()方法会释放一个通过URL.createObjectURL()创建的对象URL,如果不再需要这个对象,就要释放它,被释放掉以后,这个对象URL就不再指向指定的文件了。
downloadUrl && URL.revokeObjectURL(downloadUrl);
4、Vue.js上传和下载文件
文件上传:
上传文件(POST) 文件下载:
下载带链接文件(window.open) 二进制流下载(GET) 二进制流下载(POST) .btn-box {padding: 20px; }.el-button,input {max-width: fit-content; display: block; margin: 20px; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 2020-04-07vue中Axios的封装和API接口的管理
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- django-前后端交互
- 如何在Mac中的文件选择框中打开系统隐藏文件夹