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
JS关闭窗口或JS关闭页面的几种代码分享
Oct 25 Javascript
原生js ActiveXObject获取execl里面的值
Nov 01 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
网页挂马方式整理及详细介绍
Nov 03 Javascript
javaScript中定义类或对象的五种方式总结
Dec 04 Javascript
详解ES6之async+await 同步/异步方案
Sep 19 Javascript
electron demo项目npm install安装失败的解决方法
Feb 06 Javascript
Vue中$refs的用法详解
Jun 24 Javascript
JS的函数调用栈stack size的计算方法
Jun 24 Javascript
浅谈Angular 观察者模式理解
Nov 01 Javascript
Vue源码解析之数据响应系统的使用
Apr 24 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
无线电的诞生过程
2021/03/01 无线电
php使用异或实现的加密解密实例
2013/09/04 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
2016/09/21 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
javascript时间差插件分享
2016/07/18 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
2017/06/21 Javascript
在vue项目中集成graphql(vue-ApolloClient)
2018/09/08 Javascript
微信小程序实现跑马灯效果
2020/10/21 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
2019/06/17 Javascript
解决layer弹出层msg的文字不显示的问题
2019/09/11 Javascript
Vue.js使用axios动态获取response里的data数据操作
2020/09/08 Javascript
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
Python urlopen 使用小示例
2008/09/06 Python
Python程序设计入门(3)数组的使用
2014/06/16 Python
python中常用的九种预处理方法分享
2016/09/11 Python
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
Python更新所有已安装包的操作
2020/02/13 Python
keras训练曲线,混淆矩阵,CNN层输出可视化实例
2020/06/15 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
地球上最先进的胡子和头发修剪器:Bevel
2018/01/23 全球购物
2014年药品销售工作总结
2014/12/16 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
nginx请求限制配置方法
2021/07/09 Servers