vue实现文件上传读取及下载功能


Posted in Javascript onNovember 17, 2020

本文实例为大家分享了vue实现文件上传读取及下载的具体代码,供大家参考,具体内容如下

文件的上传利用input标签的type="file"属性,读取用FileReader对象,下载通过创建a标签实现

<template>
 <div class="filediv">
 <el-button @click="downloadFile">下载</el-button>
 <div id="fileselect">
 <el-input style="margin-top: 16px" type="file"></el-input>
 </div>
 </div>
</template>
 
<script>
export default {
 data () {
 return {
 }
 },
 mounted: function () {
 this.$nextTick(function () {
 this.readFile()
 })
 },
 methods: {
 // 下载文件
 downloadFile: function () {
 var content = [
 { 'firstName': 'John', 'lastName': 'Doe' },
 { 'firstName': 'Anna', 'lastName': 'Smith' },
 { 'firstName': 'Peter', 'lastName': 'Jones' }
 ]
 var filecontent = JSON.stringify(content)
 if ('download' in document.createElement('a')) {
 this.download(filecontent, 'testfile.json')
 } else {
 alert('浏览器不支持')
 }
 },
 // 下载设备配置文件
 download: function (content, filename) {
 let link = document.createElement('a')
 link.download = filename
 link.style.display = 'none'
 // 字符内容转变成blob地址
 let blob = new Blob([content])
 link.href = URL.createObjectURL(blob)
 document.body.appendChild(link)
 link.click()
 document.body.removeChild(link)
 },
 // 导入设备,监听上传文件并读取
 readFile: function () {
 console.log('读取文件')
 let fileselect = document.querySelector('#fileselect')
 fileselect.addEventListener('change', function (e) {
 console.log(e)
 let file = e.target.files
 console.log('文件类型')
 console.log(file)
 if (file.length === 0) {
  return
 }
 let reader = new FileReader()
 if (typeof FileReader === 'undefined') {
  this.$message({
  type: 'info',
  message: '您的浏览器不支持FileReader接口'
  })
  return
 }
 reader.readAsText(file[0])
 reader.onload = function (e) {
  console.log('文件内容')
  console.log(e.target.result)
 }
 }.bind(this))
 }
 }
}
</script>
 
<style scoped>
.filediv {
 width: 400px;
 margin: 20px;
}
</style>

关于vue.js的学习教程,请大家点击专题vue.js组件学习教程、Vue.js前端组件学习教程进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个可以随意添加多个序列的tag函数
Jul 21 Javascript
jquery下onpropertychange事件的绑定方法
Aug 01 Javascript
两种常用的javascript数组去重方法思路及代码
Mar 26 Javascript
js渐变显示渐变消失示例代码
Aug 01 Javascript
javascript读写json示例
Apr 11 Javascript
JavaScript实现在数组中查找不同顺序排列的字符串
Sep 26 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
May 18 Javascript
jQuery+AJAX实现无刷新下拉加载更多
Jul 03 Javascript
解决html input验证只能输入数字,不能输入其他的问题
Jul 21 Javascript
vue集成chart.js的实现方法
Aug 20 Javascript
详解用async/await来处理异步
Aug 28 Javascript
在Echarts图中给坐标轴加一个标识线markLine
Jul 20 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
Sep 21 #Javascript
vue配置nprogress实现页面顶部进度条
Sep 21 #Javascript
Vue使用NProgress进度条的方法
Sep 21 #Javascript
NProgress显示顶部进度条效果及使用详解
Sep 21 #Javascript
vue开发拖拽进度条滑动组件
Sep 21 #Javascript
layui点击弹框页面 表单请求的方法
Sep 21 #Javascript
使用vue制作滑动标签
Sep 21 #Javascript
You might like
PHP临时文件的安全性分析
2014/07/04 PHP
简单的自定义php模板引擎
2016/08/26 PHP
JavaScript 指导方针
2007/04/05 Javascript
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
奇妙的js
2007/09/24 Javascript
jquery 查找新建元素代码
2010/07/06 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
Python程序中的观察者模式结构编写示例
2016/05/27 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
西班牙美妆电商:Perfume’s Club(有中文站)
2018/08/08 全球购物
Superdry极度干燥美国官网:英国制造的服装品牌
2018/11/13 全球购物
以太网Ethernet IEEE802.3
2013/08/05 面试题
2014年公务员思想汇报范文:全心全意为人民服务
2014/03/06 职场文书
家长建议怎么写
2014/05/15 职场文书
工作失误检讨书
2015/01/26 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
Java多条件判断场景中规则执行器的设计
2021/06/26 Java/Android
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL
win11无法登录onedrive错误代码0x8004def7怎么办 ?
2022/04/05 数码科技
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS