表单提交文件相关

  • 可以使用formData提交含有文件的表单
  • 何时会使用到formdata,以及详细用法,请点击此网站
  • formData不兼容 <=ie9

  • <=ie9 提交含有文件的表单,本人还没有好的解决办法,可以使用jquery.form等插件

  • 获取提交文件的大小以及类型

  • input[type='file'].files是包含多个文件对象的数组,每个对象含有上传文件的相关信息,包含文件名称、大小、类型、修改时间等
  • <=ie9 不支持files属性,所以需要写兼容代码获取文件相关信息
    • 首先获取当前ie版本
     if ((theUA.match(/msie\s\d+/) && theUA.match(/msie\s\d+/)[0]) || (theUA.match(/trident\s?\d+/) && theUA.match(/trident\s?\d+/)[0])) {
           var ieVersion = theUA.match(/msie\s\d+/)[0].match(/\d+/)[0] || theUA.match(/trident\s?\d+/)[0];
           // ieVersion 就是IE版本
}
- 利用此方法获取上传文件的大小,但是需要ie浏览器做一些设置
try {
                    var file = input[type='file'];
                    file.select();
                    file.blur();
                    var path = document.selection.createRange().text;
                    var fso = new ActiveXObject("Scripting.FileSystemObject");
                    // thisSize就是上传文件的大小
                    thisSize = fso.GetFile(path).size;
                } catch (e) {
                    alert(e + "\n" + "如果错误为:Error:Automation 服务器不能创建对象;" + "\n" + "请按以下方法配置浏览器:" + "\n" + "请打开【Internet选项-安全-Internet-自定义级别-ActiveX控件和插件-对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本(不安全)-点击启用-确定】");
                    return window.location.reload();
                }
- 获取文件的类型
  ``` input[type='file'].value```可以获取到上传文件的路径,可以拿路径来截取文件名;当然如果file设置了multiple,value只能获取最后一个文件的路径;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 10,829评论 0 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 13,481评论 3 53
  • 本文包括:1、文件上传概述2、利用 Commons-fileupload 组件实现文件上传3、核心API——Dis...
    廖少少阅读 14,314评论 5 91
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 6,544评论 1 10

友情链接更多精彩内容