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 相关文章推荐
常用js脚本
Dec 03 Javascript
兼容Mozilla必须知道的知识。
Jan 09 Javascript
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
Feb 03 Javascript
jQuery学习笔记之2个小技巧
Jan 19 Javascript
JQuery中DOM事件合成用法实例分析
Jun 13 Javascript
浅析js绑定事件的常用方法
May 15 Javascript
node实现简单的反向代理服务器
Jul 26 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
Jan 13 Javascript
vue鼠标悬停事件实例详解
Apr 01 Javascript
Node 搭建一个静态资源服务器的实现
May 20 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
Jun 24 Javascript
微信小程序去除左上角返回键的实现方法
Mar 06 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中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
js获取腾讯视频ID的方法
2016/10/03 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
vue cli安装使用less的教程详解
2019/07/12 Javascript
Python实现批量修改文件名实例
2015/07/08 Python
python 剪切移动文件的实现代码
2018/08/02 Python
nohup后台启动Python脚本,log不刷新的解决方法
2019/01/14 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
Python简单实现区域生长方式
2020/01/16 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
2020/04/24 Python
优秀大学生推荐信范文
2013/11/28 职场文书
十岁生日同学答谢词
2014/01/19 职场文书
策划总监岗位职责
2014/02/16 职场文书
运动会加油口号
2014/06/07 职场文书
公司门卫工作职责
2014/06/28 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
追讨欠款律师函
2015/06/24 职场文书
公司周年庆典致辞
2015/07/30 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
浅谈怎么给Python添加类型标注
2021/06/08 Python
豆瓣2021评分最高动画剧集-豆瓣评分最高的动画剧集2021
2022/03/18 日漫
海弦WR-800F
2022/04/05 无线电