vue中用H5实现文件上传的方法实例代码


Posted in Javascript onMay 27, 2017

整理文档,搜刮出一个vue中用H5实现文件上传的方法实例代码,稍微整理精简一下做下分享。

1.图片上传

<img v-if="personInfo.photoUrl" :src="headPreFix + personInfo.photoUrl" style="height:126px;max-width:133px;margin: 25px 0;">
 <img v-else src="../../assets/default.png" style="height:126px;max-width:133px;margin: 25px 0;">
<form id="form1" enctype="multipart/form-data" method="post" action="">
        <div style="height:0px; overflow:hidden; position:absolute;">
         <input type="file" tabIndex="-1" accept="image/jpeg,image/x-png,image/gif" name="file" style="padding-left:10px" id="fileToUpload" @change="fileSelected()"/>
        </div>
        <button type="button" class="btn btn-default btn-xs" onclick="document.getElementById('fileToUpload').click()">上传</button>
        <button type="button" class="btn btn-default btn-xs" @click="deleteImg">删除</button>
       </form>
// 上传图片
  'fileSelected': function () {
   var that = this
   let files = document.getElementById('fileToUpload').files
   if (files && files.length) {
    var fd = new FormData()
    fd.append('file', files[0])
    var reader = new window.FileReader()
    // 图片大小 100KB
    var fileSize = 100 * 1024
    reader.readAsDataURL(files[0])
    reader.onload = function (e) {
     if (e.target.result.length > fileSize) {
      that.$dispatch('show-alert', 'msg_1016')
      document.getElementById('fileToUpload').value = ''
     } else {
      var xhr = new XMLHttpRequest()
      xhr.addEventListener('load', that.uploadComplete, false)
      xhr.open('POST', that.$root.appBaseUrl + 'fileUpload/singleFileUpload')
      xhr.send(fd)
     }
    }
   }
  },
  // 上传成功
  'uploadComplete': function (evt) {
   this.personInfo.photoUrl = (evt.target.responseText).replace('\\', '/')
   document.getElementById('fileToUpload').value = ''
  },
  // 删除图片
  'deleteImg': function () {
   this.personInfo.photoUrl = ''
  },
computed: {
  headPreFix: function () {
   let params = window.localdicts.dicts.ph_params.systemParam
   if (params.storageType === 1) {
    return params.storageUrl
   }
   return this.$root.appBaseUrl
  }
}

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

Javascript 相关文章推荐
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
May 21 Javascript
JavaScript高级程序设计 客户端存储学习笔记
Sep 10 Javascript
JavaScript中的作用域链和闭包
Jun 30 Javascript
禁止IE用右键的JS代码
Dec 30 Javascript
js二维数组排序的简单示例代码
Jan 24 Javascript
详解react-router如何实现按需加载
Jun 15 Javascript
axios使用拦截器统一处理所有的http请求的方法
Nov 02 Javascript
Vue中的基础过渡动画及实现原理解析
Dec 04 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
May 28 jQuery
使用imba.io框架得到比 vue 快50倍的性能基准
Jun 17 Javascript
详解Vue中的基本语法和常用指令
Jul 23 Javascript
js动态生成表格(节点操作)
Jan 12 Javascript
详解vue2.0脚手架的webpack 配置文件分析
May 27 #Javascript
详解如何使用webpack打包Vue工程
May 27 #Javascript
Jquery中attr与prop的区别详解
May 27 #jQuery
angular使用post、get向后台传参的问题实例
May 27 #Javascript
AngularJS中使用ngModal模态框实例
May 27 #Javascript
angularJS模态框$modal实例代码
May 27 #Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
May 27 #Javascript
You might like
php将会员数据导入到ucenter的代码
2010/07/18 PHP
php定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
[原创]图片分页查看
2006/08/28 Javascript
JQuery 1.4 中的Ajax问题
2010/01/23 Javascript
javascript入门基础之私有变量
2010/02/23 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
AngularJS基础 ng-click 指令示例代码
2016/08/01 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
Python中的字符串操作和编码Unicode详解
2017/01/18 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
Python中字符串List按照长度排序
2019/07/01 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
Python爬虫运用正则表达式的方法和优缺点
2019/08/25 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
文明礼仪小标兵事迹
2014/01/12 职场文书
人力资源主管职责范本
2014/03/05 职场文书
银行办公室岗位职责
2014/03/10 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
民族精神月活动总结
2014/08/28 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
nginx+lua单机上万并发的实现
2021/05/31 Servers
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript