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 相关文章推荐
js 省地市级联选择
Feb 07 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
Mar 29 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
Jun 27 Javascript
JavaScript的jQuery库中function的存在和参数问题
Aug 13 Javascript
JavaScript获取短信验证码(周期性)
Dec 29 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
Jan 19 Javascript
jquery中绑定事件的异同
Feb 28 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
Aug 03 Javascript
vue 使用ref 让父组件调用子组件的方法
Feb 08 Javascript
微信小程序 setData 对 data数据影响问题
Apr 18 Javascript
javascript 数组精简技巧小结
Feb 26 Javascript
JavaScript实现串行请求的示例代码
Sep 14 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
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
解决json日期格式问题的3种方法
2014/02/02 Javascript
Eclipse去除js(JavaScript)验证错误
2014/02/11 Javascript
js toFixed()方法的重写实现精度的统一
2014/03/06 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
JavaScript中的prototype原型学习指南
2016/05/09 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
jQuery滚动监听实现商城楼梯式导航效果
2017/03/06 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
Python 网络编程起步(Socket发送消息)
2008/09/06 Python
python解决字典中的值是列表问题的方法
2013/03/04 Python
Python 由字符串函数名得到对应的函数(实例讲解)
2017/08/10 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
python实现感知器
2017/12/19 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
python用什么编辑器进行项目开发
2020/06/17 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
荷兰家电销售网站:Welhof
2020/12/08 全球购物
工程专业毕业生自荐信范文
2013/12/25 职场文书
员工培训邀请函
2014/02/02 职场文书
医德医风自我评价2015
2015/03/03 职场文书
居安思危观后感
2015/06/11 职场文书
《风筝》教学反思
2016/02/23 职场文书
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏