http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 2832|回复: 0

[毕业生提问] js获取上传文件大小,急

[复制链接]
发表于 2016-8-24 14:58:21 | 显示全部楼层 |阅读模式
在FireFox、Chrome浏览器中可以根据document.getElementById(“id_file”).files[0].size 获取上传文件的大小(字节数),而IE浏览器中不支持该属性,只能借助<img>标签的dynsrc属性,来间接实现获取文件的大小(但需要同意ActiveX控件的运行,但是不会引起上面的不友好、不安全的提示)
要求:
1.如果浏览器安全设置很高,就是(不同意ActiveX控件的运行)
2.这个文件大小判断逻辑必须在前台js操作,不能再后台处理
该如何解决。。。。。
我看了挺多,没看到合适的解决办法,求助。。。。。。。。。。

前台:
<img id="tempimg" dynsrc="" src="" alt="" style="display:none" />
<INPUT id="FileBrowser" style="WIDTH:96%" class="whitebox" type="file" runat="server" NAME="FileBrowser">
js 代码:
function CheckFileSize()
      {
          var btnName = event.srcElement.name;
          if(btnName == "Button1")
          {
              var browserCfg = {};
              var ua = window.navigator.userAgent;

              if ((ua.indexOf("MSIE") >= 1 && ua.toLowerCase().indexOf("Trident") > -1) || (ua.toLowerCase().indexOf("trident") > -1 && ua.indexOf("rv") > -1)) {
           browserCfg.ie = true;
       } else if (ua.indexOf("Firefox") >= 1) {
           browserCfg.firefox = true;
       } else if (ua.indexOf("Chrome") >= 1) {
           browserCfg.chrome = true;
       }
       var obj_file = document.getElementById("FileBrowser");
           if(obj_file.value==""){  
                  alert("请先选择上传文件");  
                  return;  
             }  
           var filesize = 0;
          if(browserCfg.firefox || browserCfg.chrome ){  
              filesize = obj_file.files[0].size;  
          }
          else if (browserCfg.ie) {
              var obj_img = document.getElementById('tempimg');
             obj_img.dynsrc = obj_file.value;//这里的问题
              filesize = obj_img.fileSize;
              alert(filesize);
          }
                //------------------------
         
          if ((filesize/ 1024) > 102)
    {
              alert("上传的附件文件不能超过10M!!!");
     return false;
    }
浏览器安全设置特别高时,出现这个错误
1.png

[img]file:///C:/Users/madongfeng/AppData/Roaming/Tencent/Users/1154275063/QQ/WinTemp/RichOle/%7BS[NQS9$HI(%7BI]%609)%7B$HO4P.png[/img]


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-4-27 03:30

© 2014-2021

快速回复 返回顶部 返回列表