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解析XML的实现代码
Nov 12 Javascript
Ubuntu 11.10 安装Node.js的方法
Nov 30 Javascript
让复选框只能选择一项的方法
Oct 08 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
Mar 25 Javascript
JS匿名函数实例分析
Nov 26 Javascript
Bootstrap CSS组件之大屏幕展播
Dec 17 Javascript
微信小程序 Canvas增强组件实例详解及源码分享
Jan 04 Javascript
通过npm引用的vue组件使用详解
Mar 02 Javascript
微信小程序实现富文本图片宽度自适应的方法
Jan 20 Javascript
推荐一个基于Node.js的表单验证库
Feb 15 Javascript
js实现随机点名器精简版
Jun 29 Javascript
js实现可爱的气泡特效
Sep 05 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
全国FM电台频率大全 - 3 河北省
2020/03/11 无线电
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
jQuery 网易相册鼠标移动显示隐藏效果实现代码
2013/03/31 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
首页图片漂浮效果示例代码
2014/06/05 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
2015/12/01 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
js获取客户端操作系统类型的方法【测试可用】
2016/05/27 Javascript
javascript入门之window对象【新手必看】
2016/11/22 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
webpack之devtool详解
2018/02/10 Javascript
vue-rx的初步使用教程
2018/09/21 Javascript
Vue 一键清空表单的实现方法
2020/02/07 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
浅谈Vue使用Elementui修改默认的最快方法
2020/12/05 Vue.js
Python实现数据库编程方法详解
2015/06/09 Python
Python制作钉钉加密/解密工具
2016/12/07 Python
Python读写docx文件的方法
2018/05/08 Python
python让列表倒序输出的实例
2018/06/25 Python
提升python处理速度原理及方法实例
2019/12/25 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
python之语音识别speech模块
2020/09/09 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
CSS3 实现的火焰动画
2020/12/07 HTML / CSS
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
生产主管岗位职责
2013/11/10 职场文书
报关专员求职信范文
2014/02/22 职场文书
mysql知识点整理
2021/04/05 MySQL
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
Apache自带的ab压力测试工具的实现
2022/07/23 Servers