ie7和ie8如何在不支持ActiveX的情况下通过js验证上传文件大小?

IE8,IE9 中 javascript 如何用javascript实现判断上传文件大小~

原生的js是不能获取到文件大小的。

你要么改为flash上传,要么就用activex控件来做。

  思路是img标签中的dynsrc属性。
  在FireFox、Chrome浏览器中可以根据document.getElementById(“id_file”).files[0].size 获取上传文件的大小(字节数),而IE浏览器中不支持该属性,只能借助标签的dynsrc属性,来间接实现获取文件的大小(但需要同意ActiveX控件的运行,但是不会引起上面的不友好、不安全的提示)。
参考如下:
js check file size var maxsize = 2*1024*1024;//2M var errMsg = "上传的附件文件不能超过2M!!!"; var tipMsg = "您的浏览器暂不支持计算上传文件的大小,确保上传文件不要超过2M,建议使用IE、FireFox、Chrome浏览器。"; var browserCfg = {}; var ua = window.navigator.userAgent; if (ua.indexOf("MSIE")>=1){ browserCfg.ie = true; }else if(ua.indexOf("Firefox")>=1){ browserCfg.firefox = true; }else if(ua.indexOf("Chrome")>=1){ browserCfg.chrome = true; } function checkfile(){ try{ var obj_file = document.getElementById("fileuploade"); 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; }else{ alert(tipMsg); return; } if(filesize==-1){ alert(tipMsg); return; }else if(filesize>maxsize){ alert(errMsg); return; }else{ alert("文件大小符合要求"); return; } }catch(e){ alert(e); } }

思路是img标签中的dynsrc属性。
  在FireFox、Chrome浏览器中可以根据document.getElementById(“id_file”).files[0].size 获取上传文件的大小(字节数),而IE浏览器中不支持该属性,只能借助<img>标签的dynsrc属性,来间接实现获取文件的大小(但需要同意ActiveX控件的运行,但是不会引起上面的不友好、不安全的提示)。
参考如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="DEscription" contect="my code demo" /> <meta name="Author" contect="Michael@www.micmiu.com" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js check file size </title> </head> <body> <img id="tempimg" dynsrc="" src="" style="display:none" /> <input type="file" name="file" id="fileuploade" size="40" /> <input type="button" name ="check" value="checkfilesize" onclick="checkfile()"/> </body> <script type="text/javascript"> var maxsize = 2*1024*1024;//2M var errMsg = "上传的附件文件不能超过2M!!!"; var tipMsg = "您的浏览器暂不支持计算上传文件的大小,确保上传文件不要超过2M,建议使用IE、FireFox、Chrome浏览器。"; var browserCfg = {}; var ua = window.navigator.userAgent; if (ua.indexOf("MSIE")>=1){ browserCfg.ie = true; }else if(ua.indexOf("Firefox")>=1){ browserCfg.firefox = true; }else if(ua.indexOf("Chrome")>=1){ browserCfg.chrome = true; } function checkfile(){ try{ var obj_file = document.getElementById("fileuploade"); 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; }else{ alert(tipMsg); return; } if(filesize==-1){ alert(tipMsg); return; }else if(filesize>maxsize){ alert(errMsg); return; }else{ alert("文件大小符合要求"); return; } }catch(e){ alert(e); } } </script> </html>

我的电脑装不了IE7、IE8 ,说是不支持。电脑是win7的系统,这是怎么回事...
答:问题太离谱了。win7自带了ie8版本。如果你的软件不支持此浏览器,那你就是安装其它浏览器也无济于事。win7的ie8,非winxp下的ie8版本,两者有不同。win7只能升级到ie9版本,没有其它的选择。你得具体说下什么软件,为何不兼容支持ie8。

我的电脑装不了IE7、IE8 ,说是不支持。电脑是win7的系统,这是怎么回事...
答:版本不一样!看看你的系统是64还是32位的!装对应版本的IE浏览器!

网页提示:浏览器不支持,建议使用ie浏览器,ie8以上版本请使用兼容模式...
答:由于在整个互联网对css没有制定一个完备的标准,会每个浏览器厂家在某些细节的解释会存在差异,因此会有部分网页不兼容。当遇到打开有问题的网站,可以尝试下面的操作:一、添加受信任的站点 打开IE11浏览器, 点击右上角的“工具”选项,再选择“Internet选项”。点击界面的上方的“安全”选项卡,然后...

怎么解决解决浏览器不兼容问题
答:2、弹出“兼容性视图设置”窗口后在“添加此网站”下面的文本框里输入你想设置兼容的网站,并单“添加”,最后单击“关闭”结束操作。3、同样打开IE浏览器单击右上方的“设置”图标在谈出来的菜单中选择“Enternet 选项”。4、单击上方的“安全”项目。在“选择一个区域或更安全设置”中选择“受信任的...

win10怎么兼容ie8浏览器
答:有两种方法,可以结合在一起使用,也可以使用其中一种。结合起来使用,效果更好。兼容性设置——IE菜单栏,工具,兼容性视图设置,将网站添加进去 企业模式:运行gpedit.msc,打开组策略,依次展开用户配置——管理模板——Internet Explorer,在右侧找到"允许从“工具”菜单启用和使用企业模式",双击打开 本...

ie8对象不支持此属性或方法
答:/iknow-pic.cdn.bcebos.com/6a600c338744ebf8409cb2d5d7f9d72a6159a76f"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/6a600c338744ebf8409cb2d5d7f9d72a6159a76f?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality...

360如何兼容ie8360如何兼容ie浏览器
答:网上的征信查询登录密码时暂不支持此浏览器,支持IE8-11但安卓手机怎么下载呢?手机也不支持手机没有IE1_88浏览器 360浏览器兼容模式在哪设置?许多OA系统使用了兼容E的框架设计,如何兼顾新老版本的浏览器呢,假如你使用了360_览器,请按以下步聚设置兼容模式。1.打开网页时,在地址栏会提示选择浏览...

win7旗舰版IE8 对象不支持此属性或方法如何解决?
答:禁用脚本调试即可,步骤如下:1、打开游览器点击右上角的”工具“选项,会出现一个对话框。2、在出来的对话框里面,点击"Internet 选项”用来打开设置选项。3、然后重新切换到“高级”选项卡中,将“禁用脚本调试(Internet Explorer)”和“禁用脚本调试(其他)”前面两项打上勾即可解决。

opacity不兼容ie7,ie8怎么解决
答:所以,在设置opacity透明度的时候也一起设置了filter蒙版的透明就好了。但是有个问题。filter蒙版的透明格式是 filter:Alpha(Opacity=50);/*100为不透明,0为全透明*/ 所以你不能用animate函数去添加filter的渐变效果。应该的写法是 //这样写在ie9模拟的ie7ie8下同样能得到渐变效果。没有实际的老版本...

WINDOWS 7 中 IE8怎么降级为IE7或者IE8怎么兼容IE7
答:1.开始--控制面板--程序--程序和功能--查看已安装的更新--列表中找到ie8,然后点击 卸载。按这样的方法卸载后,就恢复到了你之前安装过的ie版本,ie6或者ie7.如果是ie6,下载 ie7安装即可.2.打开ie--工具栏--开发人员工具(f12)--在打开的页面中,选择浏览器模式为ie7 ...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网