客户端用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. Count the number of possible triangles

    From: http://www.geeksforgeeks.org/find-number-of-triangles-possible/ Given an unsorted array of pos ...

  2. Android带图片的Toast(自定义Toast)

    使用Android默认的Toast Toast简介: Toast是一个简单的消息显示框,能够短暂的出现在屏幕的某个位置,显示提示消息. 默认的位置是屏幕的下方正中,一般Toast的使用如下: Toas ...

  3. Git使用教程

    配置Git 首先在本地创建ssh key: $ ssh-keygen -t rsa -C "your_email@youremail.com" 后面的your_email@your ...

  4. Windows Server 2008 R2 IIS7.5 部署 MVC HTTP 404.0 Not Found 错误

    如图 在Windows Server 2008 R2 IIS7.5 部署 MVC HTTP 404.0 Not Found 错误,在Win7环境下测试正常,在百度中查找相关解决方法,如修改配置文件等, ...

  5. 关于.NET知识体系结构图总结

    转载:关于.NET知识体系结构图总结-零度http://www.xcode.me/book/net-framework-maps 最近对.NET框架方面的知识进行了概要的总结,整理了一些知识体系结构图 ...

  6. Flex 1046: 找不到类型,或者它不是编译时常数;1180: 调用的方法 CompPropInfo 可能未定义

    导入项目之后一直报这个错误, 1046: 找不到类型,或者它不是编译时常数: 1180: 调用的方法 CompPropInfo 可能未定义 想这应该是没有把当前这个类编译进项目当中,找了半天也没有找到 ...

  7. brew 安装 mysql

    在网上看到各种教程,都会出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.soc ...

  8. python中的正则表达式

  9. C#中的匿名方法

    C#中的匿名方法是在C#2.0引入的,它终结了C#2.0之前版本声明委托的唯一方法是使用命名方法的时代.虽然在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方 ...

  10. ***PHP 数组排序 +php二维数组排序方法(PHP比较器)

    PHP - 一维数组的排序函数 在本节中,我们将学习如下 PHP 数组排序函数: sort() - 以升序对数组排序 rsort() - 以降序对数组排序 asort() - 根据值,以升序对关联数组 ...