客户端用javascript获取文件大小

1 ie实现代码如下:

<script type="text/javascript" language="javascript">

function getFileSize(fileName)

{

if(document.all)//判断是否是IE浏览器

{

window.oldOnError = window.onerror;

window.onerror = function(err)

{

if(err.indexOf('Automation')!=-1)

{

alert('没有访问文件的权限');

return true;

}

else

{

return false;

}

}

var fso = new ActiveXObject('Scripting.FileSystemObject');

var file = fso.GetFile(fileName);

window.onerror = window.oldOnError;

return file.Size;

}

}

</script>

2 ff ie6,7,8

function checkFileSize(){

var agent      = window.navigator.userAgent;

var fileupload = document.getElementById("upfile");

var isIE7 = agent.indexOf('MSIE 7.0') != -1;

var isIE8 = agent.indexOf('MSIE 8.0') != -1;

var maxSize = 2000000;

try{

//火狐获取路径

if (agent.indexOf("Firefox") >= 1) {

var fileSize = fileupload.files[0].fileSize;

} else if (isIE7 || isIE8) {  //IE7和IE8获得文件路径

fileupload.select();

filepath = document.selection.createRange().text;

var aa = new ActiveXObject("Scripting.FileSystemObject");

var fileSize = aa.GetFile(filepath).size;

} else { //IE6获得文件路径

filepath = fileupload.value;

var aa = new ActiveXObject("Scripting.FileSystemObject");

var fileSize = aa.GetFile(filepath).size;

}

if(fileSize > maxSize) {

alert("上传文件不可超过2MB!");

return false;

}

}catch(e){

alert("请修改IE浏览器ActiveX安全设置为启用~!");

return false;

}

return true;

}

*【常见问题】Automation 服务器不能创建对象*

【解决方法】

第一步:浏览器-->工具-->Internet选项-->安全-->Internet的自定义级别-->安全级别设为"中",启用"对没有标记为安全的ActiveX控件进行

初始化和脚本运行"

第二步:接第一步选择"受信任的站点"-->站点-->去掉要求进行"服务器验证(https:)"前面的勾,然后添加运行上面js代码的站点到受信任的区

域,例如:http://localhost

另外:如果用户遇到不能修改IE中Internet选项的安全级别时,解决方法是先打开注册表编辑器,找到

"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3"分支,

在右侧窗口中将"MinLevel"修改为"10000"(十六进制)后就可以在IE属性中设置较低的安全级别了。

亲测方案可行,但是需要做安全配置,这个对于我们程序员是可以的,当时我们不能要求用户也都像这样去设置

3 一个只是用于ie6的方法(不用安全配置)

直接上代码:

var browser=navigator.appName;

var b_version=navigator.appVersion;

var version=b_version.split(";");

var trim_Version=version[1].replace(/[ ]/g,"");

if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0"){

var file = $('#file1')[0];

var filePath = file.value;

var image=new Image();

image.dynsrc=filePath;

filesize=image.fileSize;

alert(filesize);

}

dynsrc属性只有在Ie6中适用,在以上版本中都摒弃了。

4 高级浏览器

var fileSize = document.getElementById("#file").size;

console.log(fileSize);

客户端用javascript获取文件大小的更多相关文章

  1. 客户端用javascript获取grid的数据。

  2. JavaScript获取客户端计算机硬件及系统等信息的方法

    JavaScript获取客户端计算机硬件及系统等信息的方法 JavaScript 获取客户端计算机硬件及系统信息 通过WMI来实现获取客户端计算机硬件及系统信息: function getSysInf ...

  3. 客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值。

    客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值.     无论是什么的html控件,只要加上了runat="server" ...

  4. java版ftp简易客户端(可以获取文件的名称及文件大小)

    java版ftp简易客户端(可以获取文件的名称及文件大小) package com.ccb.ftp; import java.io.IOException; import java.net.Socke ...

  5. Javascript 获取链接(url)参数的方法

    有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值.本文给出的就是这个流程的具体实现方法. 当然,我们也可以用正则直接匹配,文章中也给出了一个 ...

  6. JavaScript获取浏览器信息的方法

    Window有navigator对象让我们得知浏览器的全部信息.我们可以利用一系列的API函数得知浏览器的信息. JavaScript代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 1 ...

  7. ASP.NET获取客户端信息,获取客户端IP等等

    山上明月 ASP.NET能知道的东西 获取服务器电脑名: Page.Server.ManchineName 获取用户信息: Page.User 获取客户端电脑名:Page.Request.UserHo ...

  8. JavaScript获取浏览器版本等信息

    ** 不同浏览器版本可能存在差异,使用时请测试自己的环境 ** 测试时各个浏览器版本 IE: 11.953.14393.0 Edge: Microsoft Edge 38.14393.0.0;Micr ...

  9. 转:javascript获取上一访问页面

    原文链接:移动端返回上一页,刚需!document.referrer 详解 全文如下: 返回上一页,在PC端我们可以使用:history.go(-1)或者history.back(),可以正常返回第一 ...

随机推荐

  1. ThinkInside

    #sideBar,#blog_post_info_block { display: none;}#under_post_news { display: none;} /*评论框大小*/ #tbComm ...

  2. 【SqlServer】empty table and delete table and create table

    1.建表 1 IF object_id (N'表名', N'U') IS NULL CREATE TABLE 表名 ( 2 id INT IDENTITY (1, 1) PRIMARY KEY ,.. ...

  3. java 基础导航

    ecplise 常用快捷键 java notepad++ java封装好处和原则 java1 基本概述和java环境变量配置 java2 基本概念介绍和基本关键字.基本数据类型 java3 基本流程语 ...

  4. mysqldump和xtrabackup备份原理实现说明

    背景: MySQL数据库备份分为逻辑备份和物理备份两大类,犹豫到底用那种备份方式的时候先了解下它们的差异: 逻辑备份的特点是:直接生成SQL语句,在恢复的时候执行备份的SQL语句实现数据库数据的重现. ...

  5. mysqlDBA(1-3年)

    1.熟悉Aliyun操作系统的管理.配置和系统调优: 2.熟悉mysql管理 3.熟悉mysql主从复制,主主复制 4.熟悉数据库的备份策略,监控策略,性能测量策略 5.熟悉linux/unix操作系 ...

  6. Sublime Text实用小技巧

    1.输入"!"或"html:5",然后按Tab键: html:5 或!:用于HTML5文档类型 html:xt:用于XHTML过渡文档类型 html:4s:用于 ...

  7. 【笔记】MySQL查询排名

    select a.name, a.total_score,@rank:=@rank+1 as rank from (                  select u.name,uti.total_ ...

  8. yii 验证问题

    yii 版本2.08 yii 验证码问题 1.模型里加入'verifyCode', 'captcha','message'=>'error','captchaAction' => 'tes ...

  9. SQLite文件查看工具DB Browser for SQLite

    有时候,我们用Python创建了一个test.sqlite文件,想查看里面的数据,除了用Python连上数据库,SELECT出来,还有什么好办法呢?这里推荐使用一个小工具DB Browser for ...

  10. Startcom SSL证书申请 IIS设置 配置 攻略

    申请具体参考:http://www.cnblogs.com/yibinboy/p/6137426.html 制作要导入服务器IIS上的证书. 点击控制面板的左上角的TOOL BOX,然后点击Creat ...