客户端用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(),可以正常返回第一 ...
随机推荐
- 点击空白处 div隐藏掉了
$(document).on('click',function (e) { var target = $(e.target); if(target.closest(".login-box&q ...
- 相机变换与Ray-Casting
p { margin-bottom: 0.1in; direction: ltr; line-height: 120%; text-align: justify; orphans: 0; widows ...
- ASP.NET获取客户端IP地址
public static string GetRealIP() { string ip; try { ...
- java程序性能优化
一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子: import java.util ...
- Hamilton四元数群的表示
Hamilton四元数群$Q_8=\mathbb H=\{\pm e,\pm i,\pm j,\pm k\}$满足如下运算法则: $e$为单位元且同号得正.异号得负,此外$e=i^2=j^2=k^2, ...
- R语言环境安装与基本使用
R语言安装包可以从这个地址选择合适的URL去下载:https://cran.r-project.org/mirrors.html,这里使用这个https://mirrors.tuna.tsinghua ...
- 项目中 -- 设置tabBar样式 (旅游局)
- (void)addChildViewController:(UIViewController *)ViewController image:(UIImage *)image selectImg:( ...
- display:table-cell的应用
一.display:table-cell属性简述 display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签.目前IE8+以及其他现代浏览器都是支持此属性的,但是IE6 ...
- 基于EasyUI Treegrid的权限管理资源列表
1. 前言 最近在开发系统权限管理相关的功能,主要包含用户管理,资源管理,角色管理,组类别管理等小的模块.之前的Web开发中也用过jQueryEasyUI插件,感觉这款插件简单易用,上手很快.以前用到 ...
- 如何让include标签包裹的布局置于屏幕最下方?
如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性 a ...