자바스크립트로 로컬 파일 사이즈 알아내기

2006. 8. 4. 10:38 IT 및 개발/HTML/CSS/JS
스크립트
<script type="text/javascript" language="javascript">
function getFileSize(filePath)
{
  var len = 0;
  if ( navigator.appName.indexOf("Netscape") != -1)
  {
     try {
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
     } catch(e) {
        alert("signed.applets.codebase_principal_support를 설정해주세요!\n"+e);
        return -1;
     }
     try {
        var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
        file.initWithPath ( filePath );
        len = file.fileSize;
     } catch(e) {
        alert("에러 발생:"+e);
     }
  }
  else if (navigator.appName.indexOf('Microsoft') != -1)
  {
     var img = new Image();
     img.dynsrc = filePath;
     len = img.fileSize;
  }
  return len;
}

function checkFile(obj)
{
  var len = getFileSize(obj.value);
  // 아래 빨간색 부분이 파일사이즈 지정해 주는 부분입니다.
  // 상황에 맞게 아래 부분을 수정해서 사용하시면 됩니다.
  if (len > 1024 * 1024)
  {
     alert("파일 크기는 1메가보다 작아야 합니다.");
  }
}
</script>


사용방법 예제
<form name="test">
<input type="file" name="file" onChange="checkFile(this);" />
</form>

작성 : 상현넘™ [SHBLITZ.NET]