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 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
Mar 26 Javascript
js内置对象 学习笔记
Aug 01 Javascript
JQuery实现鼠标滑过显示导航下拉列表
Sep 12 Javascript
JS图片切换的具体方法(带缩略图版)
Nov 12 Javascript
jQuery实现可用于博客的动态滑动菜单
Mar 09 Javascript
Jquery基础教程之DOM操作
Aug 19 Javascript
用户代理字符串userAgent可实现的四个识别
Sep 20 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
Jan 08 Javascript
Angular移动端页面input无法输入的解决方法
Nov 14 Javascript
基于substring()和substr()的使用以及区别(实例讲解)
Dec 28 Javascript
微信小程序实现多行文字超出部分省略号显示功能
Oct 23 Javascript
微信小程序图片加载失败时替换为默认图片的方法
Dec 09 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
颠覆常识!无色透明的咖啡诞生了(中日双语)
2021/03/03 咖啡文化
apache mysql php 源码编译使用方法
2012/05/03 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
2017/09/10 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
python 链接和操作 memcache方法
2017/03/04 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
基于python实现学生信息管理系统
2019/11/22 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
美国家居装饰店:Pier 1
2019/09/04 全球购物
行政助理的岗位职责
2014/02/18 职场文书
机修工工作职责
2014/02/21 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
司法所长先进事迹
2014/06/02 职场文书
交通志愿者活动总结
2014/06/27 职场文书
家庭困难证明
2014/10/12 职场文书
血轮眼轮回眼特效 html+css
2021/03/31 HTML / CSS