简要咨询咨询QQ网站导航网站搜索手机站点联系我们设为首页加入收藏 

JavaScript获取上传文件容量

来源:易贤网   阅读:794 次  日期:2015-04-22 11:31:08

温馨提示:易贤网小编为您整理了“JavaScript获取上传文件容量”,方便广大网友查阅!

我们有时候在上传文件前要判断文件的大小,通常有以下两种方式:

1 <!doctype html public "-//w3c//dtd html 4.0 transitional//en">

2 <html>

3 <body>

4 <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this)">

5 <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">

6 </body>

7 <script type="text/javascript">

8

9 function getFileSize(filePath)

10 {

11 var image=new Image();

12 image.dynsrc=filePath;

13 alert(image.fileSize);

14 }

15

16 function getFileSize(fileObj)

17 {

18 var image=new Image();

19 image.dynsrc=fileObj.value;

20 var size = image.fileSize || fileObj.files[0].fileSize;

21 if(size > 100000){

22 alert(size);

23 }

24

25 }

26 </script>

27 </html>

但是以上代码有一个问题,就是在给image.dynsrc赋值的时候,要有文件的操作权限,换句话说,IE7之后的版本为了提高安全性不允许浏览器对文件进行操作,故以上代码不实用。

以下代码通过调用ActiveX来进行文件的读取,需要启用ActiveX的部分功能。

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

<html>

<script type="text/javascript">

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;

}

}

</script>

<body>

<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this)">

</body>

</html>

更多信息请查看IT技术专栏

更多信息请查看脚本栏目
点此处就本文及相关问题在本站进行非正式的简要咨询(便捷快速)】     【点此处查询各地各类考试咨询QQ号码及交流群
上一篇:针对JavaScript的常用事件、对象捕获和使用技巧
下一篇:如何学好JavaScript(八) —— 用JSON做原型
易贤网手机网站地址:JavaScript获取上传文件容量
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!