通过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遮罩层实例讲解
May 11 jQuery
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
jQuery实现拖动效果的实例代码
Jun 25 jQuery
jQuery实现用户信息表格的添加和删除功能
Sep 12 jQuery
jquery 一键复制到剪切板的实例
Sep 20 jQuery
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
jQuery实现的简单歌词滚动功能示例
Jan 07 jQuery
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 jQuery
jQuery each和js forEach用法比较
Feb 27 jQuery
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
May 29 jQuery
jQuery zTree如何改变指定节点文本样式
Oct 16 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
DOMXML函数笔记
2006/10/09 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
phplot生成图片类用法详解
2015/01/06 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
使用jQuery实现更改默认alert框体
2015/04/13 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
2016/12/23 Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
2016/12/26 Javascript
js实现放大镜特效
2017/05/18 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
Python设计模式之命令模式简单示例
2018/01/10 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
Python多进程写入同一文件的方法
2019/01/14 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
Selenium常见异常解析及解决方案示范
2020/04/10 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
删除pycharm鼠标右键快捷键打开项目的操作
2021/01/16 Python
Java基础面试题
2012/11/02 面试题
解释下面关于J2EE的名词
2013/11/15 面试题
食品行业求职人的自我评价
2014/01/19 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
车队安全员岗位职责
2015/02/15 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
撤诉书怎么写
2015/05/19 职场文书
大学学生会主席竞选稿
2015/11/19 职场文书