0 Comments

JavaScript文件尺寸验证

发布于:2012-11-17  |   作者:广州网站建设  |   已聚集:人围观
文件尺寸限制及异常处理

在实际的应用中,文件管理功能通常需要对用户上传的文件尺寸和类型做限制,这是上传下载模块的基础功能。对于上传文件尺寸的限制可以在客户端依靠JavaScript程序来实现,但同时也需要对WebServer的配置做必要的修改,下面分别介绍这两种方式。广州网站设计

7.2.1  JavaScript文件尺寸验证

打开前面创建的文件上传界面文件upload.html,添加文件尺寸判断函数。修改后的页面代码如下:广州网站设计

 


  1. <html xmlns="undefined"> 
  2. <head> 
  3. <title>文件上传页面</title> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
  5. <meta name="description" content="文件上传页面" /> 
  6. <script language="JavaScript" type="text/JavaScript"> 
  7.                 function getFileSize(filename) {  
  8.                     //var filename = document.all('fileup').value;                                                  //获得上传文件的物理路径  
  9.                     if (filename == '') {  
  10.                         alert("你还没有浏览要上传的文件");  
  11.                         return false;  
  12.                     }  
  13.                     try {  
  14.                         var fso, f, fname, fsize;  
  15.                 var flength = 4;                                                                    //设置上传的文件最大值(单位:kb),超过此值则不上传  
  16.                         fso = new ActiveXObject("Scripting.FileSystem-  
  17.                         Object");  
  18.                         f = fso.GetFile(filename);  //文件的物理路径  
  19.                         fname = fso.GetFileName(filename);                                                              //文件名(包括扩展名)  
  20.                         ffsize = f.Size;         //文件大小(bit)  
  21.                         fsizefsize = fsize / 1024;  
  22.                         if (fsize > flength) {  
  23.         alert("上传的文件到小为:" + fsize + "kb,\n超过最大限度" + flength + "kb,  
  24.         不允许上传 ");  
  25.                             return false;  
  26.                         } else {  
  27.                             alert("允许上传,文件大小为:" + fsize + "kb");  
  28.                         }  
  29.                     } catch(e) {  
  30.                         alert(e);  
  31.                         return false;  
  32.                     }  
  33.                     return true;  
  34.                 }  
  35.             </script> 
  36. </head> 
  37. <body bgcolor="#FFFFFF"> 
  38. <center> 
  39. <form enctype="multipart/form-data" action="upload.php" method="post"> 
  40. <table border="1" width="55%" id="table1" cellspacing=0> 
  41.     <tr> 
  42.         <td colspan="2"> 
  43.         <p align="center">上传文件:  
  44.         </td> 
  45.     </tr> 
  46.     <tr> 
  47.         <td width="10%"></td> 
  48.         <td width="71%"><input type="hidden" name="max_file_size" 
  49.             value="100000"> <input name="userfile" type="file"> <input 
  50.             type="submit" value="上传文件" 
  51.             onclick="getFileSize(document.all('userfile').value)"></td> 
  52.     </tr> 
  53. </table> 
  54. </form> 
  55. </center> 
  56. </body> 
  57. </html> 

使用上面的程序上传一个大尺寸的文件,通过测试程序是否正确来判断文件尺寸。上传后浏览器弹出提示文件尺寸过大的信息,验证文件尺寸的检测有效。广州网站建设

注意:上面的代码做文件尺寸检测是依赖于ActiveXObject("Scripting.FileSystemObject");这个是IE控件完成的,一些情况下需要降低IE的安全级别才能正常运行。广州网站建设

标签:
飞机