通过jquery获取上传文件名称、类型和大小的实现代码


Posted in jQuery onApril 19, 2018

在文件上传到服务器之前,我们可以通过jquery来获取上传文件的名称,类型和尺寸大小。

通常情况下,当用户通过<input type='file'>标签来上传文件时,我们可以看到上传文件的名称。HTML5 File API为我们提供了一种安全的方式,让我们在客户端访问计算机中的文件,并更好的对这些文件执行操作。

支持File API的浏览器有IE10+,Firefox4+,Safari5.0.5+,Opera11.1+和Chrome。

File API在表单的文件输入字段的基础上,又添加了一些直接访问文件信息的接口。HTML5在DOM中为文件输入元素添加了一个files集合。通过文件输入字段选择了一个或多个文件时,files集合中包含一组File对象,每个File对象对应着一个文件。每个文件都有下列的只读属性:

  • name:本地文件系统中的文件名。
  • size:文件的字节数。
  • type:文件的MIME类型。
  • lastModifiedDate:文件上一次被修改的时间。

通过这个files接口,我们就可以在jquery中获取上传文件的名称,类型和尺寸大小。通过下面的demo来体验一下效果。

1、通过“选择文件”按钮来选择要上传的文件,可以选择多个文件。

2、选择文件后点击“显示上传文件的详细信息”按钮来查看文件的详细信息。

要同时上传多个文件,需要在文件上传标签中添加multiple属性。上面demo的HTML结构如下:

<input id="fUpload" multiple type="file" /><br />
<ul id="ulList">
</ul>
<input id="btnShow" type="button" value="显示上传文件的详细详细" />

在jquery代码中,首先检测被选择文件的数量,然后通过一个循环来分别获取每个文件的详细信息。完整的jquery代码如下:

$("#btnShow").on('click', function () {
  $("#ulList").empty();
  var fp = $("#fUpload");
  var lg = fp[0].files.length; // get length
  var items = fp[0].files;
  var fragment = "";
   
  if (lg > 0) {
    for (var i = 0; i < lg; i++) {
      var fileName = items[i].name; // get file name
      var fileSize = items[i].size; // get file size 
      var fileType = items[i].type; // get file type
 
      // append li to UL tag to display File info
      fragment += "<li>" + fileName + " (<b>" + fileSize + "</b> bytes) - Type :" + fileType + "</li>";
    }
 
    $("#ulList").append(fragment);
  }
});

这篇文章就介绍到这了,需要的朋友可以参考一下。

jQuery 相关文章推荐
jquery基于layui实现二级联动下拉选择(省份城市选择)
Jun 20 jQuery
jquery图片放大镜效果
Jun 23 jQuery
jQuery 循环遍历改变a标签的href(实例讲解)
Jul 12 jQuery
jQuery实现火车票买票城市选择切换功能
Sep 15 jQuery
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 jQuery
jQuery创建及操作xml格式数据示例
May 26 jQuery
jQuery实现为动态添加的元素绑定事件实例分析
Sep 07 jQuery
jQuery实现的模仿雨滴下落动画效果
Dec 11 jQuery
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 jQuery
如何使用CSS3+JQuery实现悬浮墙式菜单
Jun 18 jQuery
jQuery实现二级导航菜单的示例
Sep 30 jQuery
jQuery滚动条美化插件nicescroll简单用法示例
Apr 18 #jQuery
jQuery实现的淡入淡出与滑入滑出效果示例
Apr 18 #jQuery
jQuery实现的手动拖动控制进度条效果示例【测试可用】
Apr 18 #jQuery
jQuery实现的两种简单弹窗效果示例
Apr 18 #jQuery
jQuery实现使用sort方法对json数据排序的方法
Apr 17 #jQuery
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
Apr 17 #jQuery
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 #jQuery
You might like
PHP中常用数组处理方法实例分析
2008/08/30 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
PHP最常用的正则表达式
2017/02/13 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
使用PHP连接数据库_实现用户数据的增删改查的整体操作示例
2017/09/01 PHP
完美的php分页类
2017/10/24 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
PHP PDOStatement::bindColumn讲解
2019/01/30 PHP
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
浅谈jquery中delegate()与live()
2015/06/22 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
快速了解Node中的Stream流是什么
2019/02/13 Javascript
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
python爬取代理ip的示例
2020/12/18 Python
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
几个SQL的面试题
2014/03/08 面试题
团员的自我评价
2013/12/01 职场文书
党员组织关系介绍信
2014/02/13 职场文书
制冷与空调专业毕业生推荐信
2014/07/07 职场文书
党员倡议书
2015/01/19 职场文书
晚会闭幕词
2015/01/28 职场文书
个人德育工作总结
2015/03/05 职场文书
运动会3000米加油稿
2015/07/21 职场文书
正则表达式拆分url实例代码
2022/02/24 Java/Android
解决MySQL报“too many connections“错误
2022/04/19 MySQL