图片上传时,图片类型、尺寸及大小的校验[转载]

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4.     <title>图片上传时,图片类型、尺寸及大小的校验</title>
  5. </head>
  6. <body style="font-family:Arial, sans-serif; ">
  7.         <h3 align=center>图片类型:gif、jpg、jpeg、png、bmp</h3>
  8.     <hr color=red>
  9.     <form >
  10.          <table align=center>
  11.             <tr>
  12.                 <td>
  13.                 图片大小限制(单位:Kb):
  14.             </td>
  15.             <td>
  16.                 <input type="text" size="4" value="100" name="fileSizeLimit" id="fileSizeLimit" />K
  17.             </td>
  18.         </tr>
  19.         <tr>
  20.             <td>
  21.                 图片高度限制(单位:像素):
  22.             </td>
  23.             <td>
  24.                 <input type="text" size="4" value="100" name="heightLimit" id="heightLimit" />
  25.             </td>
  26.         </tr>
  27.         <tr>
  28.             <td>
  29.                  图片宽度限制(单位:像素):
  30.             </td>
  31.             <td>
  32.                 <input type="text" size="4" value="100" name="widthLimit" id="widthLimit" />
  33.             </td>
  34.         </tr>
  35.         <tr>
  36.             <td>
  37.                 选择上传文件
  38.             </td>
  39.             <td>
  40.              <input type="file" name="photo" onchange="changeSrc(this)" />
  41.             </td>
  42.         
  43.         </tr>
  44.         <tr>
  45.             <td>
  46.                  图片预览:
  47.             </td>
  48.             <td>
  49.             <img id="fileChecker" name="fileChecker" alt="test" />
  50.             </td>
  51.         </tr>
  52.         <tr>
  53.             <td colspan=2 align=center>
  54.                 <input type="submit" value="检 查">
  55.             </td>
  56.         </tr>
  57.       </table>
  58.     </form>
  59.     
  60.         <script type="text/javascript">
  61.     
  62.           //符合条件的图片格式的数组
  63.           var right_type=new Array(".gif",".jpg",".jpeg",".png",".bmp");
  64.                 
  65.                 //图片预览组件
  66.           var oFileChecker = document.getElementById("fileChecker");
  67.     
  68.         //检查图片大小
  69.       function   CheckFileSize()   
  70.       { 
  71.         var limit = document.getElementById("fileSizeLimit").value * 1024;
  72.         var width = document.getElementById("widthLimit").value ;
  73.         var height = document.getElementById("heightLimit").value;
  74.      
  75.         if (oFileChecker.fileSize > limit)
  76.         {
  77.             alert("图片大小:"+oFileChecker.fileSize+"byte--太大!");
  78.         }
  79.         else
  80.         {
  81.             alert("图片大小:"+oFileChecker.fileSize+"byte--ok!");
  82.         }
  83.      
  84.         if(  oFileChecker.height> height)
  85.         {
  86.             alert("图片高度:"+oFileChecker.height+"--太高!");
  87.         }
  88.         else
  89.         {
  90.             alert("图片高度:"+oFileChecker.height+"--ok!");
  91.         }
  92.         if(oFileChecker.width> width)
  93.         {
  94.             alert("图片宽度:"+oFileChecker.width+"--太宽!");
  95.         }
  96.         else
  97.         {
  98.             alert("图片宽度:"+oFileChecker.width+"--ok!");
  99.         }
  100.             return false;   
  101.       } 
  102.      
  103.          //file组件onchange事件处理器
  104.      function changeSrc(filePicker)
  105.      { 
  106.         if(!checkImgType(filePicker.value))
  107.         {
  108.             alert("图片格式不正确!");
  109.             return;
  110.         }
  111.         oFileChecker.src = filePicker.value;
  112.      }
  113.     oFileChecker.onreadystatechange = function ()
  114.     { 
  115.         if (oFileChecker.readyState == "complete")
  116.         {
  117.             CheckFileSize();
  118.         }
  119.     }
  120.         //图片类型检查函数
  121.     function checkImgType(fileURL)
  122.     {
  123.         var right_typeright_typeLen=right_type.length;
  124.         var imgUrl=fileURL.toLowerCase();
  125.         var postfixLen=imgUrl.length;
  126.         var len4=imgUrl.substring(postfixLen-4,postfixLen);
  127.         var len5=imgUrl.substring(postfixLen-5,postfixLen);
  128.         for (i=0;i<right_typeLen;i++)
  129.         {
  130.             if((len4==right_type[i])||(len5==right_type[i]))
  131.             {
  132.                 return true;
  133.             }
  134.         }
  135.     }
  136.   </script>
  137. </body>
  138. </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值