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 相关文章推荐
jquery 单击li防止重复加载的实现代码
Dec 24 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
Mar 31 Javascript
js从外部获取图片的实现方法
Aug 05 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
Jan 18 Javascript
JavaScript中var、let、const区别浅析
Jun 24 Javascript
微信小程序支付前端源码
Aug 29 Javascript
vue基于element的区间选择组件
Sep 07 Javascript
Vue 表情包输入组件的实现代码
Jan 21 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
Apr 02 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
Sep 02 Javascript
细说webpack6 Babel的使用详解
Sep 26 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
Nov 17 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中的PHP_EOL换行符详细解析
2013/10/26 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
jQuery 选择器理解
2010/03/16 Javascript
javascript onmouseout 解决办法
2010/07/17 Javascript
jquery清空表单数据示例分享
2014/02/13 Javascript
jQuery中live()方法用法实例
2015/01/19 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
Vue实现手机扫描二维码预览页面效果
2020/05/28 Javascript
python使用socket向客户端发送数据的方法
2015/04/29 Python
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
python字符串的方法与操作大全
2018/01/30 Python
python中kmeans聚类实现代码
2018/02/23 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
2018/03/20 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
超市营业员求职简历的自我评价
2013/10/17 职场文书
本科毕业生的求职信范文
2013/11/20 职场文书
初中女生自我鉴定
2013/12/19 职场文书
致100米运动员广播稿
2014/02/14 职场文书
酒店管理毕业生自荐信
2014/05/25 职场文书
人力资源本科毕业生求职信
2014/06/04 职场文书
2014国庆节演讲稿:祖国在我心中(400字)
2014/09/25 职场文书
教师理论学习心得体会
2016/01/21 职场文书