vue实现图片上传到后台


Posted in Javascript onJune 29, 2020

本文实例为大家分享了vue实现图片上传到后台的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <script src="jquery-1.11.3.min.js"></script>
 <style>
  .upload {
  margin: 30px 40px 0;
  width: 122px;
  height: 122px;
  padding-bottom: 40px;
  position: relative;
  float: left;
  }
  .upload .btn {
  position: absolute;
  left: 20px;
  bottom: 0;
  width: 80px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  color: #Fff;
  border-radius: 5px;
  background: #ff6c00;
  }
  .upload .btn .file {
  display: inline-block;
  position: absolute;
  width: 80px;
  height: 30px;
  left: 0;
  top: 0;
  opacity: 0;
  }
  .upload .btn .add{
   position: absolute;
   left: 0;
   top: 0;
   width: 80px;
   height: 30px;
   text-align: center;
  }
  .upload .imgs {
  position: absolute;
  left: 0;
  top: 0;
  width: 100px;
  height: 100px;
  border: 1px solid #ccc;
  padding: 10px;
  }
  .upload .imgs img {
  width: 100px;
  height: 100px;
  border: 1px solid #f1f1f1;
  }
  .upload .imgs .look {
  position: absolute;
  left: 10px;
  top: 10px;
  width: 100px;
  height: 100px;
  line-height: 100px;
  text-align: center;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  }
 </style>
</head>
<body>
 <!-- 模态框 -->
 <div class="madel-img"></div>
 
 <div class="upload_wrap clearfix">
  <div class="upload upload1 fl">
   <div class="btn">
   <span class="add">上传文件</span>
   <input type="file" class="file" multiple>
   <input type="hidden" class="imgUrl">
   </div>
   <div class="imgs">
   <img src="shenfenzheng.jpg" alt="">
   <div class="look">图片示范</div>
   </div>
  </div>
 </div>
 
 <script>
 ;(function($){
 
  /* 上传图片 */
  $.fn.upload = function(id){
   this.id = id;
   this.img = this.id.find($(".imgs img"));
   this.img_src = this.id.find($(".imgs img")).attr("src");
   this.file = this.id.find($(".file"));
   this.look = this.id.find($(".look"));
   this.imgUrl = this.id.find($(".imgUrl"));
   var that = this;
 
   this.file.on("change",function(){
 
   var files = this.files;//获得上传的所有图片
   var reader = new FileReader();//读取本地图片并显示
 
   var name = files[0].name;
    var fileName = name.substring(name.lastIndexOf(".")+1).toLowerCase();
    if(fileName !="jpg" && fileName !="jpeg" && fileName !="png" && fileName !="bmp"){
     layer.msg("图片格式不正确!");
     that.img.attr("src",that.img_src)
     return;
    }
    var fileSize = files[0].size;
    var size = fileSize / 1024;
    if(size>10000){
     layer.msg("图片不能大于10M");
     return;
    }else if(size <= 0){
     layer.msg("图片不能小于0M");
     return;
    }
 
   reader.readAsDataURL(files[0]);//读取第一张图片的地址
   //数据读取完成后改变src地址
   reader.onload = function(){
    that.look.css({"display":"none"});
    var image = new Image();//本地缓存一张图片
    var imgCur_src = this.result;//获取正在上传的图片
    that.img.attr("src",imgCur_src);//吧刚开始的图片替换成上传的图片
   }
 
    var fd = new FormData();
    fd.append("pic", files[0]);
    $.ajax({
     type: "POST",
     contentType: false, //必须false才会避开jQuery对 formdata 的默认处理 , XMLHttpRequest会对 formdata 进行正确的处理
     processData: false, //必须false才会自动加上正确的Content-Type
     url: uploadUrl,
     data: fd,
     async: false,
     beforeSend: function (request) {
      request.setRequestHeader("Authorization", localStorage.token);
      request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
     },
     success: function (msg) {
      console.log(msg)
      if (msg.code == "100") {
       imgUrl.val(msg.data);
      }
     },
     error: function (msg) {
      console.log(msg);
     }
    });
   })
  }
 
  $(".upload1").upload($(".upload1"));
 })(jQuery)
</script>
</body>
</html>

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

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

Javascript 相关文章推荐
关于JavaScript的gzip静态压缩方法
Jan 05 Javascript
javascript div 弹出可拖动窗口
Feb 26 Javascript
jQuery回车实现登录简单实现
Aug 20 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
May 30 Javascript
微信小程序  modal弹框组件详解
Oct 27 Javascript
微信小程序 rich-text的使用方法
Aug 04 Javascript
javascript如何用递归写一个简单的树形结构示例
Sep 06 Javascript
vue2组件之select2调用的示例代码
Oct 12 Javascript
vue实现裁切图片同时实现放大、缩小、旋转功能
Mar 02 Javascript
JavaScript展开操作符(Spread operator)详解
Jul 20 Javascript
解决iView Table组件宽度只变大不变小的问题
Nov 13 Javascript
Web应用开发TypeScript使用详解
May 25 Javascript
JS判断数组四种实现方法详解
Jun 29 #Javascript
vue实现整屏滚动切换
Jun 29 #Javascript
vue实现页面切换滑动效果
Jun 29 #Javascript
微信小程序实现导航栏和内容上下联动功能代码
Jun 29 #Javascript
Vue.js中Line第三方登录api的实现代码
Jun 29 #Javascript
vue实现列表滚动的过渡动画
Jun 29 #Javascript
element跨分页操作选择详解
Jun 29 #Javascript
You might like
PHP设计模式之模板方法模式定义与用法详解
2018/04/02 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
监控 url fragment变化的js代码
2010/04/19 Javascript
jQuery学习笔记 操作jQuery对象 属性处理
2012/09/19 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
JavaScript引用类型Array实例分析
2018/07/24 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
python3序列化与反序列化用法实例
2015/05/26 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
python下载库的步骤方法
2019/10/12 Python
Python中格式化字符串的四种实现
2020/05/26 Python
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
产品包装策划方案
2014/05/18 职场文书
车辆转让协议书
2014/09/24 职场文书
四风对照检查材料范文
2014/09/27 职场文书
道歉信怎么写
2015/05/12 职场文书
JS如何使用剪贴板操作Clipboard API
2021/05/17 Javascript
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
2021/06/07 Python
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
MySQL派生表联表查询实战过程
2022/03/20 MySQL
使用Redis做预定库存缓存功能
2022/04/02 Redis