Js验证上传文件大小二种方法

发布时间:2020-02-24编辑:脚本学堂
分享js验证上传文件大小的二种方法,分为ActiveX控件判断上传文件大小、使用img标签验证上传文件大小,有需要的朋友参考下。

介绍一下javascript判断文件大小的几种常见的方法。

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

复制代码 代码示例:
<mce:script type="text/javascript">
<!--        
function getFileSize(filePath)      
{      
  var fso = new ActiveXObject("Scripting.FileSystemObject");      
  alert("文件大小为:"+fso.GetFile(filePath).size);      
}      
// --></mce:script>      
<body>      
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value);">      
</body>

这种方法的唯一不足之处是有安全提示,当然把文件名改为.hta则会屏蔽掉安全提示,但很难被需求所取。

方法2,
在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...。

代码:
 

复制代码 代码示例:
<mce:script type="text/javascript">
<!--
function getFileSize(filePath)   
{   
  var image=new Image();   
  image.dynsrc=filePath;   
  alert(image.fileSize);   
}   
// --></mce:script>   
<body>   
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)">   
</body>  
<mce:script type="text/javascript"><!-- 
function getFileSize(filePath) 

  var image=new Image(); 
  image.dynsrc=filePath; 
  alert(image.fileSize); 

// --></mce:script> 
<body> 
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="getFileSize(this.value)"> 
</body>

很巧妙吧,这样也可以验证上传文件的大小,今天真是学着了,不错咯。