如题,我想<input type="file" id="file" oncchange="check()">要一个check()函数的代码,能获取上传文件的大小,这样我就能在客户端判断上传文件是否超过最大值。要IE8能用的。我在google上找到一段代码,但在IE8上是不可用的,我设置过“对为标记为安全的ActiveX空间的初始化并可执行”为启动,在IE6上可用。以下是我找的代码:
function getFileSize(fileObj) {
if (document.all) {
window.oldOnError = window.onerror;
window.onerror = function(err) {
if (err.indexOf('utomation') != -1) {
alert('No access to the file permissions.');
return true;
}
else
return false;
};
var fso = new ActiveXObject('Scripting.FileSystemObject');
var file = fso.GetFile(fileName);
window.onerror = window.oldOnError;
return file.Size;
}
} 我发现126邮箱里添加附件,就可以获取文件大小,但是找不到那段js代码。请大侠们帮帮忙吧!
当然,有自己的解决办法也可以。附:本来我可以将IE8换成IE6,但是后来一想,难道别个为了用我的程序还得装个IE6,那不是太搞笑了,而且google了那么多页,都是千篇一律,希望能在这里找到一个不错的解决方法
function getFileSize(fileObj) {
if (document.all) {
window.oldOnError = window.onerror;
window.onerror = function(err) {
if (err.indexOf('utomation') != -1) {
alert('No access to the file permissions.');
return true;
}
else
return false;
};
var fso = new ActiveXObject('Scripting.FileSystemObject');
var file = fso.GetFile(fileName);
window.onerror = window.oldOnError;
return file.Size;
}
} 我发现126邮箱里添加附件,就可以获取文件大小,但是找不到那段js代码。请大侠们帮帮忙吧!
当然,有自己的解决办法也可以。附:本来我可以将IE8换成IE6,但是后来一想,难道别个为了用我的程序还得装个IE6,那不是太搞笑了,而且google了那么多页,都是千篇一律,希望能在这里找到一个不错的解决方法
解决方案 »
- java 下载直接写服务端路径和流写出的区别???
- 一个经典的web开发问题!
- out对象中print() 和println()方法有什么区别
- 请教各位:如何输出不带XML头<?xml version="1.0"?>的XML数据?
- 语法错误,将“}”插入到完整 MethodBody 中
- cvs 不能登陆也不能连接
- Struts问题dynamicJavascript设置成"false"或"true"是什么意思呢?
- 想了解一下J2EE是什么?
- 到我的论坛上看看吧,我一定尽我全力回答大家问题albert.mycool.net
- about J2ee
- spring+hibernate对象影响到mysql的值
- 关于hibernate关联查询的问题
function getFileSize(filePath) {
var image=new Image();
image.dynsrc=filePath;
alert(image.fileSize);
}
IE8报错,出错信息:
无法设置dynsrc属性,拒绝访问。
objstream.type = 1;
objstream.open();
objstream.loadfromfile(strfilename);
alert(objstream.size);IE8上提示出错:
不能访问其他域的数据源。我也是将“对为标记为安全的ActiveX空间的初始化并可执行”为启动。不行啊吧!!!
JS判断上传文件大小<input type="file" id="fileText">
<input type="button" value="检查文件大小" onclick="checkFileChange(document.getElementById('fileText'));">
<script type="text/javascript">
var Sys = {};
if(navigator.userAgent.indexOf("MSIE")>0)
{
Sys.ie=true;
}
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)
{
Sys.firefox=true;
}
function checkFileChange(obj)
{
var filesize = 0;
if(Sys.firefox)
{
filesize = obj.files[0].fileSize;
}else if(Sys.ie)
{
var fileobject = new ActiveXObject ("Scripting.FileSystemObject");//获取上传文件的对象
var file = fileobject.GetFile (document.getElementById("fileText").value);//获取上传的文件
var filesize = file.Size;//文件大小
}
alert(filesize);
}
</script>
<!--
function ShowSize(files)
{
var fso,f;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(files);
var fileSize = f.size ;
if((fileSize/1024) < 1024){
alert(fileSize/1024+"K");
}else if( ((fileSize/1024) > 1024) && ((fileSize/(1024*1024)) < 1024)){
alert(fileSize/(1024*1024)+"M");
}else{
alert(fileSize/(1024*1024*1024)+"G")
}
}
//-->
</script>
<input type="text" size="4" value="10" name="filesizelimit" id="filesizelimit"/> k
<input type="file" name="file1" id="file1" size="40" onchange="changesrc(this)"/>
<img src="about:blank" id="filechecker" alt="test" height="18"/>
<script type="text/javascript">
var ofilechecker = document.getelementbyid("filechecker");
function changesrc(filepicker)
{
ofilechecker.src = filepicker.value;
}
ofilechecker.onreadystatechange = function ()
{
if (ofilechecker.readystate == "complete")
{
checksize();
}
}
function checksize()
{
var limit = document.getelementbyid("filesizelimit").value * 1024;
if (ofilechecker.filesize > limit)
{
alert("too large");
}
else
{
alert("ok");
}
}
</script>
function getFileSize(filePath)
{
var image=new Image();
image.dynsrc=filePath;
alert(image.fileSize);
}
</script>
<body>
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">
</body>
function getFileSize(filePath)
{
var image=new Image();
image.dynsrc=filePath;
alert(image.fileSize);
}
</script>
<body>
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">
</body>
都不行?我把它吃啦