通过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 23 jQuery
基于jquery实现二级联动效果
Mar 30 jQuery
jQuery用noConflict代替$的实现方法
Apr 12 jQuery
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
jQuery实现注册会员时密码强度提示信息功能示例
Sep 05 jQuery
使用JQuery实现图片轮播效果的实例(推荐)
Oct 24 jQuery
浅谈ajax在jquery中的请求和servlet中的响应
Jan 22 jQuery
jquery分页插件pagination使用教程
Oct 23 jQuery
jquery使用FormData实现异步上传文件
Oct 25 jQuery
AJAX在JQuery中的应用详解
Jan 30 jQuery
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
jquery将json转为数据字典的实例代码
Oct 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 XML操作类DOMDocument
2009/12/16 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
学习ExtJS accordion布局
2009/10/08 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
javascript 模式设计之工厂模式学习心得
2010/04/27 Javascript
JavaScript中的稀疏数组与密集数组[译]
2012/09/17 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
JS正则表达式常见用法实例详解
2018/06/19 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
angular异步验证防抖踩坑实录
2019/12/01 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
[43:49]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python之dict(或对象)与json之间的互相转化实例
2018/06/05 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
几道Web/Ajax的面试题
2016/11/05 面试题
酒店出纳岗位职责
2013/12/29 职场文书
广播体操比赛口号
2014/06/10 职场文书
会计工作总结范文2014
2014/12/23 职场文书
中小企业员工手册范本
2015/05/14 职场文书
python设置 matplotlib 正确显示中文的四种方式
2021/05/10 Python
HTML5 语义化标签(移动端必备)
2021/08/23 HTML / CSS
防止web项目中的SQL注入
2021/12/06 MySQL
Python经常使用的一些内置函数
2022/04/11 Python
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android