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 相关文章推荐
理解JavaScript变量作用域更轻松
Oct 25 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
Dec 08 Javascript
js弹出层包含flash 不能关闭隐藏的2种处理方法
Jun 17 Javascript
跟我学习javascript的prototype原型和原型链
Nov 18 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
javascript常用的设计模式
Feb 09 Javascript
Bootstrap table使用方法总结
May 10 Javascript
node文件上传功能简易实现代码
Jun 16 Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
Oct 02 Javascript
vue 对axios get pust put delete封装的实例代码
Jan 05 Javascript
JavaScript观察者模式原理与用法实例详解
Mar 10 Javascript
JavaScript使用setTimeout实现倒计时效果
Feb 19 Javascript
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
基于文本的搜索
2006/10/09 PHP
第十一节--重载
2006/11/16 PHP
火车采集器 免费版使出收费版本功能实现原理
2009/09/17 PHP
php中设置index.php文件为只读的方法
2013/02/06 PHP
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
js实现ifram取父窗口URL地址的方法
2015/02/09 Javascript
jQuery简单实现验证邮箱格式
2015/07/15 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
你不知道的 TypeScript 高级类型(小结)
2020/08/28 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
python实现web方式logview的方法
2015/08/10 Python
深入解析Python中的lambda表达式的用法
2015/08/28 Python
python中的错误处理
2016/04/10 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
在python中bool函数的取值方法
2018/11/01 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
2020/06/17 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
2014端午节活动策划方案
2014/01/27 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android