프로그래밍/html & jsp

자바스크립트로 파일용량 체크

Super User 2009. 6. 10. 14:53

주워 들은 이야기로는 파일용량 체크는 image파일만 된다고 합니다..

 

수정합니다...ie6에서는 dynsrc속성이 먹지만..

 

ie7에서는 그 속성이 사라진듯 합니다.. 따라서 밑에 소스 약간 수정함..

 

아 그리고 ie7방법을 쓸려면 인터넷보안설정에서 스크립트 실행 권한을 설정해줘야 한다고 합니다..;;;

 

그래서 주워온 소스로 만들면...

 

<script type="text/javascript">
 var maxSize = 100 * 1024 *1024;
 function checkFileSize(obj){
  if (typeof document.body.style.maxHeight != "undefined") {

//ie7일 경우
   var fso = new ActiveXObject("Scripting.FileSystemObject");
   var f = fso.GetFile(obj.value);
   var fileSize = f.size;
   f = null;
   fso = null;
   } else {

//ie6일 경우
   var img = new Image();
   img.dynsrc = obj.value;
   var fileSize = img.fileSize;
   ///alert(fileSize);
   }
 

  if(fileSize > maxSize) {
   alert("파일업로드 허용용량" + maxSize/1024/1024 +"Mbyte를 초과하였습니다.");
   fileValueReset();
   return;
  }
 }

 function fileValueReset(){
  var fileDiv = document.getElementById("fileDiv");
  fileDiv.innerHTML = "<input type='file' class=text name=attachFile' id=attachFile' size='20' onChange='checkFileSize(this)'>";
 }
</script>
 <tr height=28>
 <td width=99 align=right>파일첨부 </td>
 <td>
  <div id="fileDiv">
  <input class=text type=file name="attachFile" id="attachFile" size="20" onChange="checkFileSize(this)">
  </div>
 </td>
 </tr>

 

 

이렇게 하면 됩니다...;;;;;  뒷북이심함..