求一段获取上传文件大小的js代码解决思路
求一段获取上传文件大小的js代码
如题,我想<input type="file" id="file" oncchange="check()">要一个check()函数的代码,能获取上传文件的大小,这样我就能在客户端判断上传文件是否超过最大值。要IE8能用的。我在google上找到一段代码,但在IE8上是不可用的,我设置过“对为标记为安全的ActiveX空间的初始化并可执行”为启动,在IE6上可用。以下是我找的代码:
我发现126邮箱里添加附件,就可以获取文件大小,但是找不到那段js代码。请大侠们帮帮忙吧!
当然,有自己的解决办法也可以。
附:本来我可以将IE8换成IE6,但是后来一想,难道别个为了用我的程序还得装个IE6,那不是太搞笑了,而且google了那么多页,都是千篇一律,希望能在这里找到一个不错的解决方法
------解决方案--------------------
越高版本的浏览器的安全越高,ActiveX基本都不是默认支持的对象了
------解决方案--------------------
我原来做上传文件的时候也没在前台实现获取js大小;
建议楼主从后台获取文件大小后,再返回给前台,前台取值就行了!
------解决方案--------------------
JS判断上传文件大小
如题,我想<input type="file" id="file" oncchange="check()">要一个check()函数的代码,能获取上传文件的大小,这样我就能在客户端判断上传文件是否超过最大值。要IE8能用的。我在google上找到一段代码,但在IE8上是不可用的,我设置过“对为标记为安全的ActiveX空间的初始化并可执行”为启动,在IE6上可用。以下是我找的代码:
- JScript code
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了那么多页,都是千篇一律,希望能在这里找到一个不错的解决方法
------解决方案--------------------
越高版本的浏览器的安全越高,ActiveX基本都不是默认支持的对象了
------解决方案--------------------
我原来做上传文件的时候也没在前台实现获取js大小;
建议楼主从后台获取文件大小后,再返回给前台,前台取值就行了!
------解决方案--------------------
JS判断上传文件大小
- HTML code
<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>
------解决方案--------------------
使用ajax通信,放到后台去做试试
------解决方案--------------------
IE8现在有问题,很多在IE6、IE7上可以正常使用的JS,在IE8上都不行的。
------解决方案--------------------
同意12楼意见.