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 相关文章推荐
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
Jul 27 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
Aug 23 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
May 23 Javascript
Jquery选择器中使用变量实现动态选择例子
Jul 25 Javascript
详细分析JavaScript变量类型
Jul 08 Javascript
JavaScript实现图片自动加载的瀑布流效果
Apr 11 Javascript
JS实现简易的图片拖拽排序实例代码
Jun 09 Javascript
JavaScript实现瀑布流图片效果
Jun 30 Javascript
详解Vue.js Mixins 混入使用
Sep 15 Javascript
JavaScript 自定义事件之我见
Sep 25 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
Oct 19 Javascript
iview实现select tree树形下拉框的示例代码
Dec 21 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 无限级缓存的类的扩展
2009/03/16 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
jQuery学习笔记 操作jQuery对象 属性处理
2012/09/19 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
javascript中this指向详解
2016/04/23 Javascript
textarea 在浏览器中固定大小和禁止拖动的实现方法
2016/12/03 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
对node.js中render和send的用法详解
2018/05/14 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
python实现模拟按键,自动翻页看u17漫画
2015/03/17 Python
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
Python 异常处理的实例详解
2017/09/11 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
Python模块相关知识点小结
2020/03/09 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
Python使用xpath实现图片爬取
2020/09/16 Python
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
项目考察欢迎辞
2014/01/17 职场文书
艺术教育实施方案
2014/05/03 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
学习党的群众路线教育实践活动心得体会范文
2014/11/03 职场文书
师德标兵事迹材料
2014/12/19 职场文书
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL