客户端用javascript获取文件大小
客户端用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获取文件大小的更多相关文章
- 客户端用javascript获取grid的数据。
- JavaScript获取客户端计算机硬件及系统等信息的方法
JavaScript获取客户端计算机硬件及系统等信息的方法 JavaScript 获取客户端计算机硬件及系统信息 通过WMI来实现获取客户端计算机硬件及系统信息: function getSysInf ...
- 客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值。
客户端的javascript改变了asp.net webform页面控件的值,后台代码中如何获取修改后的值. 无论是什么的html控件,只要加上了runat="server" ...
- java版ftp简易客户端(可以获取文件的名称及文件大小)
java版ftp简易客户端(可以获取文件的名称及文件大小) package com.ccb.ftp; import java.io.IOException; import java.net.Socke ...
- Javascript 获取链接(url)参数的方法
有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值.本文给出的就是这个流程的具体实现方法. 当然,我们也可以用正则直接匹配,文章中也给出了一个 ...
- JavaScript获取浏览器信息的方法
Window有navigator对象让我们得知浏览器的全部信息.我们可以利用一系列的API函数得知浏览器的信息. JavaScript代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 1 ...
- ASP.NET获取客户端信息,获取客户端IP等等
山上明月 ASP.NET能知道的东西 获取服务器电脑名: Page.Server.ManchineName 获取用户信息: Page.User 获取客户端电脑名:Page.Request.UserHo ...
- JavaScript获取浏览器版本等信息
** 不同浏览器版本可能存在差异,使用时请测试自己的环境 ** 测试时各个浏览器版本 IE: 11.953.14393.0 Edge: Microsoft Edge 38.14393.0.0;Micr ...
- 转:javascript获取上一访问页面
原文链接:移动端返回上一页,刚需!document.referrer 详解 全文如下: 返回上一页,在PC端我们可以使用:history.go(-1)或者history.back(),可以正常返回第一 ...
随机推荐
- 在Mac OS X中配置Apache + PHP + MySQL
在Mac OS X中配置Apache + PHP + MySQL Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Ap ...
- VS2013 密钥 – 所有版本
Visual Studio Ultimate 2013 KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9 Visual Studio Premium 2013 KEY(密钥) ...
- VC++ : error LNK2005: ... already defined in *.obj
今天写代码遇到了这么一个链接错误:"已经在*.obj中定义". error LNK2005: "void __cdecl ReplaceWstringVar(class ...
- ASCII码、Unicode码 转中文
ASCII码.Unicode码 转中文 在最近工作中遇到了一些汉字编码转换的处理,可以通过正则表达式及转换字符来实现转成中文 Unicode转换示例 通常为10位编码, 通过digit参数传入 pri ...
- Java注解基础概念总结
注解的概念 注解(Annotation),也叫元数据(Metadata),是Java5的新特性,JDK5引入了Metadata很容易的就能够调用Annotations.注解与类.接口.枚举在同一个层次 ...
- 【python】tarfile的路径问题
假设有路径/home/somebody/test1/test2/test3/ 该路径下有3个文件,a.txt, b.txt, c.txt 在目录/home/somebody下有如下代码,希望打包a.t ...
- [原创]用命令行工具删除TFS2010服务器上的工作区信息
下面的示例显示有关所有计算机上的所有用户已在地址 http://myserver:8080/tfs/DefaultCollection 上的以下团队项目集合中创建的所有工作区的列表. c:\proje ...
- js获取文档高度
网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWi ...
- maven打包问题
<build> <finalName>项目名</finalName> <!-- 配置maven打包时过滤的文件 --> <resources> ...
- 搭建java环境(Eclipse为例)
工作快一年了,回过来看基础java,颇有感触. 1.JDK下载(Oracle官网下载) 2.JDK安装(切记安装路径) 3.win7中环境变量设置 (1)在环境变量中,新建"系统变量&quo ...