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 插件实现图片延迟加载效果代码
Feb 06 Javascript
jquery连缀语法如何实现
Nov 29 Javascript
使用jquery读取html5 localstorage的值的方法
Jan 04 Javascript
JavaScript中获取鼠标位置相关属性总结
Oct 11 Javascript
JavaScript中对JSON对象的基本操作示例
May 21 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
May 27 Javascript
JavaScript实现多栏目切换效果
Dec 12 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
May 30 Javascript
微信小程序wepy框架笔记小结
Aug 08 Javascript
JavaScript工具库MyTools详解
Jan 01 Javascript
浅谈javascript事件环微任务和宏任务队列原理
Sep 12 Javascript
html实现随机点名器的示例代码
Apr 02 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的控制语句
2006/10/09 PHP
自己前几天写的无限分类类
2007/02/14 PHP
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
php实现Mysql简易操作类
2015/10/11 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
laravel 使用auth编写登录的方法
2019/09/30 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
JavaScript修改css样式style
2008/04/15 Javascript
Mootools 1.2教程 函数
2009/09/15 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
node中socket.io的事件使用详解
2014/12/15 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
JS实现完全语义化的网页选项卡效果代码
2015/09/15 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
深入理解vue Render函数
2017/07/19 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
详解Node.js中的Async和Await函数
2018/02/22 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
python实现在控制台输入密码不显示的方法
2015/07/02 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
通过PYTHON来实现图像分割详解
2019/06/26 Python
CSS3正方体旋转示例代码
2013/08/08 HTML / CSS
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
社区工作者感言
2014/03/02 职场文书
竞选班干部演讲稿600字
2014/08/20 职场文书
2015年文员个人工作总结
2015/04/09 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js