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 相关文章推荐
js 调整select 位置的函数
Feb 21 Javascript
dojo学习第一天 Tab选项卡 实现
Aug 28 Javascript
图片翻转效果具体实现代码
Jan 09 Javascript
jquery操作select详解(取值,设置选中)
Feb 07 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
May 28 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
May 14 Javascript
javascript 使用for循环时该注意的问题-附问题总结
Aug 19 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
Jun 14 Javascript
js 实现数值的千分位及保存小数方法(推荐)
Aug 01 Javascript
Javascript 引擎工作机制详解
Nov 30 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
Dec 01 Javascript
JS实现二维数组横纵列转置的方法
Apr 17 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
留言板翻页的实现详解
2006/10/09 PHP
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
2007/01/29 PHP
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
深入理解PHP中的count函数
2016/05/31 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
点图片上一页下一页翻页效果
2008/07/09 Javascript
JS数学函数Exp使用说明
2012/08/09 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
JavaScript变量类型以及变量作用域详解
2017/08/14 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
python实现淘宝秒杀脚本
2020/06/23 Python
python pandas生成时间列表
2019/06/29 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
浅析css3中matrix函数的使用
2016/06/06 HTML / CSS
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
Farfetch阿联酋:奢侈品牌时尚购物平台
2019/07/26 全球购物
实用求职信范文分享
2013/12/25 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
校庆团日活动总结
2014/08/28 职场文书
离婚起诉书范本
2015/05/18 职场文书
文明医院的标语集锦!
2019/07/24 职场文书