美文网首页
表单提交文件相关

表单提交文件相关

作者: 漓漾li | 来源:发表于2017-06-20 18:51 被阅读28次
    • 可以使用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只能获取最后一个文件的路径;
    

    相关文章

      网友评论

          本文标题:表单提交文件相关

          本文链接:https://www.haomeiwen.com/subject/pglaqxtx.html