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 相关文章推荐
获取网站跟路径的javascript代码(站点及虚拟目录)
Oct 20 Javascript
JQuery 常用操作代码
Mar 14 Javascript
JQuery处理json与ajax返回JSON实例代码
Jan 03 Javascript
js获取url中&quot;?&quot;后面的字串方法
May 15 Javascript
浅谈angularJS 作用域
Jul 05 Javascript
JavaScript仿支付宝密码输入框
Dec 29 Javascript
jquery attr()设置和获取属性值实例教程
Sep 25 Javascript
js实现碰撞检测特效代码分享
Oct 16 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
Jul 12 Javascript
JS回调函数深入理解
Oct 16 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
Sep 21 Javascript
JavaScript如何实现防止重复的网络请求的示例
Jan 28 Javascript
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 UTF8编码内的繁简转换类
2009/07/20 PHP
php用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
php中通用的excel导出方法实例
2017/12/30 PHP
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
javascript中Object使用详解
2015/01/26 Javascript
详解springmvc 接收json对象的两种方式
2016/12/06 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
2017/07/03 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
利用Node.js了解与测量HTTP所花费的时间详解
2017/09/22 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
详解python如何调用C/C++底层库与互相传值
2016/08/10 Python
Python代码缩进和测试模块示例详解
2018/05/07 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
实例讲解python中的序列化知识点
2018/10/08 Python
python的time模块和datetime模块实例解析
2019/11/29 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
物业管理个人自我评价
2013/11/08 职场文书
办公室文员工作自我评价
2013/12/01 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
党员干部承诺书
2014/03/25 职场文书
《画杨桃》教学反思
2014/04/13 职场文书
陈安之励志演讲稿
2014/08/21 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
推荐信范文大全
2015/03/27 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript