通过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插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
Mar 23 jQuery
jQuery实现Select下拉列表进行状态选择功能
Mar 30 jQuery
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
jQuery用noConflict代替$的实现方法
Apr 12 jQuery
jQuery实现导航栏头部菜单项点击后变换颜色的方法
Jul 19 jQuery
jQuery选择器特殊字符与属性空格问题
Aug 14 jQuery
vue+jquery+lodash实现滑动时顶部悬浮固定效果
Apr 28 jQuery
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
May 09 jQuery
Angular5中调用第三方库及jQuery的添加的方法
Jun 07 jQuery
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
基于jQuery实现可编辑的表格
Dec 11 jQuery
jquery绑定事件 bind和on的用法与区别分析
May 22 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
分页显示Oracle数据库记录的类之一
2006/10/09 PHP
php&amp;java(三)
2006/10/09 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
php selectradio和checkbox默认选择的实现方法详解
2013/06/29 PHP
PHP5.5和之前的版本empty函数的不同之处
2014/06/13 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
JavaScript程序开发之JS代码放置的位置
2016/01/15 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
js中的面向对象入门
2017/03/06 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
使用store来优化React组件的方法
2017/10/23 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
Django Rest framework频率原理与限制
2019/07/26 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
Fairyseason:为个人和批发商提供女装和配件
2017/03/01 全球购物
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
UNOde50美国官网:西班牙珠宝品牌
2020/08/15 全球购物
STP的判定过程
2012/10/01 面试题
小学生作文评语
2014/04/18 职场文书
学习礼仪心得体会
2014/09/01 职场文书
作风建设年度心得体会
2014/10/29 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
2014年客房部工作总结
2014/11/22 职场文书
营运督导岗位职责
2015/04/10 职场文书
压缩Redis里的字符串大对象操作
2021/06/23 Redis
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫