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 表单取值常用代码
Dec 22 Javascript
js实现文章文字大小字号功能完整实例
Nov 01 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
Jun 19 Javascript
require.js的用法详解
Oct 20 Javascript
一篇文章掌握RequireJS常用知识
Jan 26 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
Jun 14 Javascript
Django+Vue.js搭建前后端分离项目的示例
Aug 07 Javascript
关于Vue单页面骨架屏实践记录
Dec 13 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
Sep 26 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
Jan 14 Javascript
vueScroll实现移动端下拉刷新、上拉加载
Mar 22 Javascript
详解vue实现坐标拾取器功能示例
Nov 18 Vue.js
详解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
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
Laravel框架实现的rbac权限管理操作示例
2019/01/16 PHP
载入进度条 效果
2006/07/08 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
深入浅析JavaScript中的作用域和上下文
2016/03/26 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
nodejs 日志模块winston的使用方法
2018/05/02 NodeJs
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
2019/05/01 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
wxPython窗口中文乱码解决方法
2014/10/11 Python
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
Python中的 enum 模块源码详析
2019/01/09 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
pyx文件 生成pyd 文件用于 cython调用的实现
2021/03/04 Python
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
香港通票:Hong Kong Pass
2019/02/26 全球购物
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
澳大利亚珠宝商:Shiels
2019/10/06 全球购物
办公室助理岗位职责
2013/12/25 职场文书
渠道运营商合作协议书范本
2014/10/06 职场文书
劳动者解除劳动合同通知书
2015/04/16 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
django中websocket的具体使用
2022/01/22 Python