通过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.load()和Jsp的include的区别
Apr 12 jQuery
使用jQuery.Pin垂直滚动时固定导航
May 24 jQuery
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 jQuery
jQuery实现简单的手风琴效果
Apr 17 jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 jQuery
jQuery 实现鼠标画框并对框内数据选中的实例代码
Aug 29 jQuery
jQuery插件artDialog.js使用与关闭方法示例
Oct 09 jQuery
jQuery与vue实现拖动验证码功能
Jan 30 jQuery
js/jQuery实现全选效果
Jun 17 jQuery
Jquery Datatables的使用详解
Jan 30 jQuery
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
Apr 04 jQuery
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 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数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
php读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
自己在做项目过程中学到的PHP知识收集
2012/08/20 PHP
PHP也能干大事之PHP中的编码解码详解
2015/04/20 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
Jquery替换已存在于element上的event的方法
2010/03/09 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
angularjs实现文字上下无缝滚动特效代码
2016/09/04 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
2017/08/24 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
在Python中增加和插入元素的示例
2018/11/01 Python
使用python打印十行杨辉三角过程详解
2019/07/10 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
MONNIER Frères英国官网:源自巴黎女士奢侈品配饰电商平台
2018/12/06 全球购物
空指针到底是什么
2012/08/07 面试题
新闻系毕业生推荐信
2013/11/16 职场文书
应届生法律顾问求职信
2013/11/19 职场文书
企业诚信承诺书
2014/05/23 职场文书
小学社会实践活动总结
2014/07/03 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
转变工作作风心得体会
2016/01/23 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers