js实现上传图片并显示图片名称


Posted in Javascript onDecember 18, 2019

本文实例为大家分享了js上传图片并显示图片名称的具体代码,供大家参考,具体内容如下

今天整理了一下上传图,用jquery的还是方便点,小女子整理的是原生的js!!!

<!DOCTYPE html>
<html>
<head lang="en">
 <meta charset="UTF-8">
 <title></title>
 <style>
  img{max-width: 100%; height: 100px;margin: 10px 20px;}
  .img_list .img-div{width: 100px;height: 200px; float: left; overflow: hidden;text-align: center; }
  .upload{position: relative;}
  .upload input{opacity: 0;position: absolute;top: 0;left: 10px;height: 100px;width: 100px;}
  .upload .upload_box{width: 100px;height: 100px;background-color: pink;color: white;}
  .img-div p{color: #28a4b0;margin: 0;}
 </style>
</head>
<body>
<div class="upload">
 <input class="file_input" type="file" multiple id="avc"/>
 <div class="upload_box">
  点我上传图片哦
 </div>
 
</div>
 
<div class="img_list">
 
</div>
<script>
 var file_input=document.getElementsByClassName("file_input")[0];
// 触发事件用的是change,因为files是数组,需要添加下标
 file_input.addEventListener("change",function(){
  var obj=this;
  var obj_name=this.files[0].name;
  var img_length=obj.files.length;
  for(var i=0;i<img_length;i++)
  {
   if(!(/image\/\w+/).test(obj.files[i].type))
   {
    alert("上传的图片格式错误,请上传图片");
    return false;
   }
   var reader = new FileReader();
   reader.error=function(e){
    alert("读取异常")
   }
   reader.onload = function(e){
//    div_html是包括图片和图片名称的容器
    var img_html='<img src="'+e.target.result+'"/>';
    var div_html=document.createElement("div");
    var p_html=document.createElement("p");
    if(document.getElementsByClassName("img_list")[0].children.length<5)
    {
     div_html.innerHTML=img_html;
     div_html.appendChild(p_html);
     p_html.innerHTML=obj_name;
     div_html.className="img-div";
     document.getElementsByClassName("img_list")[0].appendChild(div_html);
    }else{
     alert("最多上传5张图片")
    }
   };
   reader.οnlοadstart=function(){
    console.log("开始读取"+obj_name);
   }
   reader.οnprοgress=function(e){
    if(e.lengthComputable){
     console.log("正在读取文件")
    }
   };
   reader.readAsDataURL(obj.files[i]);
  }
 
 })
</script>
</body>
</html>

更多精彩内容请参考专题《ajax上传技术汇总》,《javascript文件上传操作汇总》和《jQuery上传操作汇总》进行学习。

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

Javascript 相关文章推荐
FF火狐下获取一个元素同类型的相邻元素实现代码
Dec 15 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
Aug 06 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
Web前端框架Angular4.0.0 正式版发布
Mar 28 Javascript
angularjs中$http异步上传Excel文件方法
Feb 23 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
Jul 09 Javascript
深入浅出理解JavaScript闭包的功能与用法
Aug 01 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
Oct 12 Javascript
Vue 动态组件与 v-once 指令的实现
Feb 12 Javascript
详解vue 不同环境配置不同的打包命令
Apr 07 Javascript
vue实现商城秒杀倒计时功能
Dec 12 Javascript
jQuery HTML css()方法与css类实例详解
May 20 jQuery
js实现多图和单图上传显示
Dec 18 #Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
Dec 18 #Javascript
微信小程序实用代码段(收藏版)
Dec 17 #Javascript
微信小程序修改数组长度的问题的解决
Dec 17 #Javascript
微信小程序利用云函数获取手机号码
Dec 17 #Javascript
ant design实现圈选功能
Dec 17 #Javascript
15分钟学会vue项目改造成SSR(小白教程)
Dec 17 #Javascript
You might like
php支付宝接口用法分析
2015/01/04 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
经验几则 推荐
2006/09/05 Javascript
谷歌浏览器 insertCell与appendChild的区别
2009/02/12 Javascript
JavaScript创建对象的写法
2013/08/29 Javascript
jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
2014/05/22 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
js判断空对象的实例(超简单)
2016/07/26 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
解决python os.mkdir创建目录失败的问题
2018/10/16 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
Python内置类型性能分析过程实例
2020/01/29 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
主持人演讲稿范文
2013/12/28 职场文书
会计专业导师推荐信
2014/03/08 职场文书
小班开学寄语
2014/04/04 职场文书
2015年领班工作总结
2015/04/29 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
八年级作文之感恩
2019/11/22 职场文书
Redis Stream类型的使用详解
2021/11/11 Redis