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 相关文章推荐
制作jquery遮罩层效果导航菜单代码分享
Dec 25 Javascript
为指定的元素添加遮罩层的示例代码
Jan 15 Javascript
node.js中的fs.fchmodSync方法使用说明
Dec 16 Javascript
Jquery 分页插件之Jquery Pagination
Aug 25 Javascript
Javascript实现检测客户端类型代码封包
Dec 03 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
Jan 27 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
Oct 25 Javascript
微信小程序表单验证form提交错误提示效果
Jun 19 Javascript
小程序调用微信支付的方法
Sep 26 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
Sep 28 Javascript
jQuery实现简单评论功能
Aug 19 jQuery
JavaScript Array.flat()函数用法解析
Sep 02 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
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
重新认识php array_merge函数
2014/08/31 PHP
win7安装php框架Yii的方法
2016/01/25 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
2013/09/05 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
微信小程序封装http访问网络库实例代码
2017/05/24 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
python3实现域名查询和whois查询功能
2018/06/21 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
pandas 空数据处理方法详解
2019/11/02 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
python导入库的具体方法
2020/06/18 Python
基于css3仿造window7的开始菜单
2010/06/17 HTML / CSS
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
Sneaker Studio捷克:购买运动鞋
2018/07/08 全球购物
如何提高JDBC的性能
2013/04/30 面试题
为什么需要版本控制
2016/10/28 面试题
委托公证书范本
2014/04/03 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
在校证明模板
2015/06/17 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python
tensorflow中的数据类型dtype用法说明
2021/05/26 Python