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中__proto__与prototype的关系深入理解
Dec 04 Javascript
jquery form表单序列化为对象的示例代码
Mar 05 Javascript
js实现拖拽效果
Feb 12 Javascript
JavaScript实现随机替换图片的方法
Apr 16 Javascript
js实现不提交表单获取单选按钮值的方法
Aug 21 Javascript
AngularJS 过滤器(自带和自建)详解
Sep 19 Javascript
浅谈jquery拼接字符串效率比较高的方法
Feb 22 Javascript
jQuery实现菜单栏导航效果
Aug 15 jQuery
浅谈node.js 命令行工具(cli)
May 10 Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
Jan 30 Javascript
angular异步验证防抖踩坑实录
Dec 01 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过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
使用纯php代码实现页面伪静态的方法
2015/07/25 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
菜单效果
2006/10/14 Javascript
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
使用jquery给指定的table动态添加一行、删除一行
2016/10/13 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
基于wxpython实现的windows GUI程序实例
2015/05/30 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
python输入整条数据分割存入数组的方法
2018/11/13 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
英国标志性生活方式品牌:Skinnydip London
2019/12/15 全球购物
《赵州桥》教学反思
2014/02/17 职场文书
工作说明书范文
2014/05/07 职场文书
企业文明单位申报材料
2014/05/16 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
民主评议党员个人总结
2015/02/13 职场文书
三好学生竞选稿
2015/11/21 职场文书
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
Javascript之datagrid查询详解
2021/09/15 Javascript