Media Log

파일 업로드시 자바스크립트로 체크하는 방법 하루 종일 삽질하면서 찾았다.
일단 기존에 image객체 생성해서 unload 해서 하는 방법은 익스플로러 7.0이상에서는 안된다.
6.0버전대는 안해봐서 모르겠다.

아래 방법을 사용하면 된다.
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFile(document.getElementById("file").value);
var fileSize = f.size;
f = null;
fso = null
if(fileSize/1024 > 500)
{
  alert("이미지 파일 사이즈는 500kbyte를 넘을 수 없습니다.");
}

그런데 위의 방법대로 해도 안되는 경우가 생겼다.

오류멧세지가 "자동화서버 어쩌구 저쩌구다."
그럴때는
이걸 깔아준다.

그리고 인터넷 도구->옵션->보안->승인되지 않은스크립트를 확인이나 사용으로 해놓고 컴터 재부팅을 해주고 하면 성공.....

<input type="file" name="img" size=25 >
<input type="button" value="등록" onclick="_check()">
<script type="text/javascript">
function _check()
{
   if(document.getElementById("img"))
   {
     var str = document.getElementById("img").value;
     dot = str.lastIndexOf(".");
     ext = str.substring(dot).toLowerCase();
     if (ext != ".jpg" && ext != ".JPEG" && ext != ".gif")
     {
        alert("이미지는 업로드 할 수 없는 확장자입니다.");
        document.getElementById("img").select();
        document.selection.clear();
        return false;
      }
   }
</script>

위에 대로 만 하면 업로드 할려는 파일의 확장 자를 체크할 수 있다.