js实现图片上传到服务器和回显


Posted in Javascript onJanuary 19, 2020

关于js实现图片的上传和回显,曾经用户的代码粘在这里:

样式:这样写样式的道理是给<input>标签的父级设置一个背景图,就是‘+'那个背景图,然后把<input>的宽高设置得跟父级一样,且完全透明(注意是透明不是隐藏),这样点击的时候看似是点击的‘+'的节点,其实点击的是<input>节点。

.file-box {
   position: relative;
   display: inline-block;
   width:100px;
   height:100px;
   background:url('images/uploadPc.png')no-repeat;
   background-size:100px 100px;
  }
  #input_file{
   width:100%;
   height:100%;
   opacity: 0;
   filter:alpha(opacity=0);
  }

input标签:

<div class="file-box">
  <input type="file" value="" name="file" id = "input_file"
   accept="image/gif,image/jpeg,image/jpg,image/png,image/svg" οnchange="imgPreview(this,0)" >
</div>

实现imgPreview()方法: 这个方法是给$("#input_file")这个对象设置图片的值并回显图片

function imgPreview(fileDom,i) {
  //判断是否支持FileReader
  if(window.FileReader) {
   var reader = new FileReader();
  } else {
   alert("您的设备不支持图片预览功能,如需该功能请升级您的设备!");
  }
  //获取文件
  var file = fileDom.files[0];
  var imageType = /^image\//;
  //是否是图片
  if(!imageType.test(file.type)) {
   alert("请选择图片!");
   return;
  }
  //读取完成
  reader.onload = function(e) {
   //图片路径设置为读取的图片
   // img.src = e.target.result;
   console.log(document.getElementsByClassName('file-box'));
   document.getElementsByClassName('file-box')[i].style.background = "url("+e.target.result+")no-repeat";//回显图片
   document.getElementsByClassName('file-box')[i].style.backgroundSize = '200px 160px';
   console.log('reader',reader)
  };
  reader.readAsDataURL(file);
 }

上传部分的代码:

var formData = new FormData();
formData.append('photo', $('#input_file')[0].files[0]);
//ajax请求
$.ajax({
   type: "post",
   url: "接口地址",
   data: formdata,
   dataType: 'json',
   processData: false, // 告诉jQuery不要去处理发送的数据
   contentType: false, // 告诉jQuery不要去设置Content-Type请求头
   xhrFields:{withCredentials:true},
   async: true, //默认是true:异步,false:同步。
   success: function (data) {
    callback(data);
   },
   error: function (data) {
    layer.msg('请求异常');
   },
  });

最终实现效果:

js实现图片上传到服务器和回显

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

Javascript 相关文章推荐
jscript之List Excel Color Values
Jun 13 Javascript
JavaScript面向对象程序设计三 原型模式(上)
Dec 21 Javascript
JavaScript Scoping and Hoisting 翻译
Jul 03 Javascript
js实现两个值相加alert出来精确到指定位
Sep 25 Javascript
JS获取节点的兄弟,父级,子级元素的方法
Jan 09 Javascript
Kindeditor在线文本编辑器如何过滤HTML
Apr 14 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
Feb 19 Javascript
Javascript实现base64的加密解密方法示例
Jun 27 Javascript
修改 bootstrap table 默认detailRow样式的实例代码
Jul 21 Javascript
jquery实现进度条状态展示
Mar 26 jQuery
原生js实现的观察者和订阅者模式简单示例
Apr 18 Javascript
jQuery冲突问题解决方法
Jan 19 jQuery
ES6如何用一句代码实现函数的柯里化
Jan 18 #Javascript
ES6 Object.assign()的用法及其使用
Jan 18 #Javascript
vue项目中监听手机物理返回键的实现
Jan 18 #Javascript
vue组件内部引入外部js文件的方法
Jan 18 #Javascript
Node.js实现批量下载图片简单操作示例
Jan 18 #Javascript
vue实现微信浏览器左上角返回按钮拦截功能
Jan 18 #Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
Jan 18 #Javascript
You might like
php数字游戏 计算24算法
2012/06/10 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
百万级别知乎用户数据抓取与分析之PHP开发
2015/09/28 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
php自动载入类用法实例分析
2016/06/24 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
动态加载js文件简单示例
2016/04/21 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
2016/08/25 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
10分钟学会js处理json的常用方法
2020/12/06 Javascript
Django 跨域请求处理的示例代码
2018/05/02 Python
python list格式数据excel导出方法
2018/10/31 Python
python dlib人脸识别代码实例
2019/04/04 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
python全局变量引用与修改过程解析
2020/01/07 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
Python使用pdb调试代码的技巧
2020/05/03 Python
python压包的概念及实例详解
2021/02/17 Python
Yahoo-PHP面试题1
2016/07/20 面试题
运动会解说词100字
2014/01/31 职场文书
小学毕业感言300字
2014/02/19 职场文书
西式结婚主持词
2014/03/14 职场文书
大型会议策划方案
2014/05/17 职场文书
创先争优活动承诺书
2014/08/30 职场文书
大学生操行评语大全
2014/12/31 职场文书
2015年党员个人工作总结
2015/05/13 职场文书
培训班开班主持词
2015/07/02 职场文书
上班旷工检讨书
2015/08/15 职场文书
springboot中的pom文件 project报错问题
2022/01/18 Java/Android