| 订阅 | 在线投稿
分享
 
 
 

关于javascript判断文件大小

来源:互联网  宽屏版  评论
2008-08-15 05:15:04

对于web开发人员来说文件上传文件是经常遇到的,判断文件大小也是不可缺少,在这里主要介绍一下javascript判断文件大小的几种常见的方法。

第一种是应用ActiveX控件的实现,例如:

Javascript代码

<script type="text/javascript">

function getFileSize(filePath)

{

var fso = new ActiveXObject("Scripting.FileSystemObject");

alert("文件大小为:"+fso.GetFile(filePath).size);

}

</script>

<body>

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

</body>

<script type="text/javascript">

function getFileSize(filePath)

{

var fso = new ActiveXObject("Scripting.FileSystemObject");

alert("文件大小为:"+fso.GetFile(filePath).size);

}

</script>

<body>

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

</body>

这种方法可以实现,也容易被开发人员想到,但是唯一不足之处是有安全提示,当然把文件名改为.hta则会屏蔽掉安全提示,但很难被需求所取。不推荐,也不多说

下面主要谈谈另一种方式,在html标签中有一个不为一般开发人员“深”知的img标签,先来说下他有的属性:src,dynsrc,start,alt,controls,loop,loopdelay,hspace,vspace....还有一些常用的属性就不列出来了,在这里我们说一下"dynsrc"这个属性:dynsrc可以用来插入各种多媒体,格式可以是Wav、Avi、AIFF、AU、MP3、Ra、Ram等等。url为音频或视频文件及其路径,可以是相对路径或绝对路径。

示例:<img dynsrc="xxxx.mp3">

这样我们就可以根据dynsrc动态赋值任何类型文件的路径,在javascript中根据Image对象本身的fileSize属性来得到文件的大小。当然Image对象还有其他的几个属性,例如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters... , 代码如下:

Javascript代码

<script type="text/javascript">

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>

<script type="text/javascript">

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>

经测试,得到文件大小,并未出现安全提示,推荐,没的说

 
对于web开发人员来说文件上传文件是经常遇到的,判断文件大小也是不可缺少,在这里主要介绍一下javascript判断文件大小的几种常见的方法。 第一种是应用ActiveX控件的实现,例如: Javascript代码 <script type="text/javascript"> function getFileSize(filePath) { var fso = new ActiveXObject("Scripting.FileSystemObject"); alert("文件大小为:"+fso.GetFile(filePath).size); } </script> <body> <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value);"> </body> <script type="text/javascript"> function getFileSize(filePath) { var fso = new ActiveXObject("Scripting.FileSystemObject"); alert("文件大小为:"+fso.GetFile(filePath).size); } </script> <body> <INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value);"> </body> 这种方法可以实现,也容易被开发人员想到,但是唯一不足之处是有安全提示,当然把文件名改为.hta则会屏蔽掉安全提示,但很难被需求所取。不推荐,也不多说 下面主要谈谈另一种方式,在html标签中有一个不为一般开发人员“深”知的img标签,先来说下他有的属性:src,dynsrc,start,alt,controls,loop,loopdelay,hspace,vspace....还有一些常用的属性就不列出来了,在这里我们说一下"dynsrc"这个属性:dynsrc可以用来插入各种多媒体,格式可以是Wav、Avi、AIFF、AU、MP3、Ra、Ram等等。url为音频或视频文件及其路径,可以是相对路径或绝对路径。 示例:<img dynsrc="xxxx.mp3"> 这样我们就可以根据dynsrc动态赋值任何类型文件的路径,在javascript中根据Image对象本身的fileSize属性来得到文件的大小。当然Image对象还有其他的几个属性,例如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters... , 代码如下: Javascript代码 <script type="text/javascript"> 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> <script type="text/javascript"> 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> 经测试,得到文件大小,并未出现安全提示,推荐,没的说
󰈣󰈤
 
 
 
>>返回首页<<
 
 热帖排行
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有