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 相关文章推荐
javascript实现表格增删改操作实例详解
May 15 Javascript
Bootstarp风格的toggle效果分享
Feb 23 Javascript
浅析Javascript的自动分号插入(ASI)机制
Sep 29 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
Nov 13 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
Nov 23 Javascript
vue进行图片的预加载watch用法实例讲解
Feb 07 Javascript
vue刷新和tab切换实例
Feb 11 Javascript
Angular HMR(热模块替换)功能实现方法
Apr 04 Javascript
3分钟读懂移动端rem使用方法(推荐)
May 06 Javascript
vue两组件间值传递 $router.push实现方法
May 15 Javascript
layui 对弹窗 form表单赋值的实现方法
Sep 04 Javascript
微信小程序用户盒子、宫格列表的实现
Jul 01 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实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
jQuery textarea的长度进行验证
2009/05/06 Javascript
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
vue中路由验证和相应拦截的使用详解
2017/12/13 Javascript
JS实现滑动插件
2020/01/15 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
PyQt5每天必学之单行文本框
2018/04/19 Python
TensorFlow学习之分布式的TensorFlow运行环境
2020/02/05 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
美国第一香水网站:Perfume.com
2017/01/23 全球购物
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
人事部岗位职责范本
2014/03/05 职场文书
难忘的一课教学反思
2014/04/30 职场文书
高一课前三分钟演讲稿
2014/09/13 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
社区工作者个人总结
2015/02/28 职场文书
社区节水倡议书
2015/04/29 职场文书
我是特种兵观后感
2015/06/11 职场文书
消夏晚会主持词
2015/06/30 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
解决ObjectMapper.convertValue() 遇到的一些问题
2021/06/30 Java/Android