通过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实现静态搜索功能(可输入搜索文字)
Mar 28 jQuery
jQuery加密密码到cookie的实现代码
Apr 18 jQuery
jQuery中的deferred对象和extend方法详解
May 08 jQuery
详解jquery选择器的原理
Aug 01 jQuery
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
jQuery选择器之属性筛选选择器用法详解
Sep 19 jQuery
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
Dec 10 jQuery
jquery层次选择器的介绍
Jan 18 jQuery
jQuery实现简单飞机大战
Jul 05 jQuery
jQuery实现朋友圈查看图片
Sep 11 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中用foreach来操作数组的代码
2011/07/17 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
2010/07/13 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
2013/05/08 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
js如何设置在iframe框架中指定div不显示
2013/12/04 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
浅谈javascript 归并方法
2015/01/21 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
解决vue项目中type=”file“ change事件只执行一次的问题
2018/05/16 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
Python实现遍历数据库并获取key的值
2015/05/17 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
基于python实现学生信息管理系统
2019/11/22 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
区域总监的岗位职责
2013/11/21 职场文书
操行评语大全
2014/04/30 职场文书
升学宴学生答谢词
2015/01/05 职场文书
文员岗位职责范本
2015/04/16 职场文书
2015年学校党建工作总结
2015/05/19 职场文书
学术研讨会主持词
2015/07/04 职场文书
庆祝教师节新闻稿
2015/07/17 职场文书
初三英语教学反思
2016/02/15 职场文书
Python中基础数据类型 set集合知识点总结
2021/08/02 Python