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 相关文章推荐
js TextArea的选中区域处理
Dec 28 Javascript
node.js中的console.trace方法使用说明
Dec 09 Javascript
创建、调用JavaScript对象的方法集锦
Dec 24 Javascript
JavaScript设置body高度为浏览器高度的方法
Feb 09 Javascript
js变形金刚文字特效代码分享
Aug 20 Javascript
vuex实现简易计数器
Oct 27 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
May 17 Javascript
微信小程序 sha1 实现密码加密实例详解
Jul 06 Javascript
Js中async/await的执行顺序详解
Sep 22 Javascript
15 分钟掌握vue-next响应式原理
Oct 13 Javascript
详解vue 中 scoped 样式作用域的规则
Sep 14 Javascript
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
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获取网卡地址的代码
2008/04/09 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
解析PHP实现下载文件的两种方法
2013/07/05 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
PHP+MySQL高并发加锁事务处理问题解决方法
2018/04/30 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
图片旋转、鼠标滚轮缩放、镜像、切换图片js代码
2020/12/13 Javascript
jQuery 如何给Carousel插件添加新的功能
2016/04/18 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
2019/10/02 Javascript
javascript中的with语句学习笔记及用法
2020/02/17 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
python实现简单的socket server实例
2015/04/29 Python
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
Python编写带选项的命令行程序方法
2019/08/13 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
大学教师年终总结的自我评价
2013/10/29 职场文书
秘书英文求职信范文
2014/01/31 职场文书
单位在职证明书
2014/09/11 职场文书
建筑专业毕业生求职信
2014/09/30 职场文书
护士长2014年度工作总结
2014/11/11 职场文书
煤矿隐患排查制度
2015/08/05 职场文书