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 相关文章推荐
JavaScipt基本教程之JavaScript语言的基础
Jan 16 Javascript
JS 无法通过W3C验证的处理方法
Mar 09 Javascript
EasySlider 基于jQuery功能强大简单易用的滑动门插件
Jun 11 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
Nov 17 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
Jan 11 Javascript
JavaScript模拟实现键盘打字效果
Jun 29 Javascript
原生javascript实现图片无缝滚动效果
Feb 12 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
May 05 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
Dec 17 Javascript
如何用Node写页面爬虫的工具集
Oct 26 Javascript
layui表格内容溢出的解决方法
Sep 06 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
Apr 30 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
日本十大惊悚动漫
2020/03/04 日漫
修改destoon会员公司的伪静态中的com目录的方法
2014/08/21 PHP
PHP连接access数据库
2015/03/27 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
js 控制页面跳转的5种方法
2013/09/09 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
jQuery跨域问题解决方案
2015/08/03 Javascript
jquery自定义表格样式
2015/11/23 Javascript
Highcharts使用简例及异步动态读取数据
2015/12/30 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
2018/03/09 Javascript
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
angularjs 动态从后台获取下拉框的值方法
2018/08/13 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
详解python字节码
2018/02/07 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
详解python编译器和解释器的区别
2019/06/24 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
tensorflow如何批量读取图片
2019/08/29 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
python opencv实现图像配准与比较
2021/02/09 Python
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
自我评价范文点评
2013/12/04 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
务虚会发言材料
2014/12/25 职场文书
外国人来华邀请函
2015/01/31 职场文书
厉行节约工作总结
2015/08/12 职场文书
素质教育培训心得体会
2016/01/19 职场文书
入党转正申请书范文
2019/05/20 职场文书