//이미지 용량체크
var isFileChecked = false;
var isImgFile = false;
var isEnableFileSize = false;
var maxSize = 1*1024*1024; //1M
function checkFileSize(uploadImgObj){
//
var enableUploadFileExt=new Array("bmp","jpg","jpeg","gif");
var uploadImgObjName = uploadImgObj.value;
var startPoint = 0;
var isImageFile = false;
//File 체크확인
isFileChecked = true;
if(uploadImgObj.value == ""){
return;
}
//이미지파일 확장자 체크
for(var i=uploadImgObjName.length-1; i>=0; i--) {
if(uploadImgObjName.charAt(i) == ".") {
startPoint = i;
break;
}
}
var uploadImgObjExt = uploadImgObjName.substring(startPoint+1,uploadImgObjName.length);
for(i=0; i<enableUploadFileExt.length; i++) {
if(uploadImgObjExt.toLowerCase() == enableUploadFileExt[i]){
isImageFile = true;
break;
}
}
if(!isImageFile){
alert("이미지 파일이 아닙니다. ");
uploadImgObj.value="";
isImgFile = false;
return;
}else{
isImgFile = true;
}
//파일용량 체크
var img = new Image();
img.dynsrc = uploadImgObj.value;
var filesize = img.fileSize;
//alert(filesize);
if(filesize > maxSize) {
alert("파일업로드 허용용량 "+maxSize/1024+"Kbyte를 초과되었습니다. ");
isEnableFileSize = false;
}else{
isEnableFileSize = true;
}
//
}
//업로드승인체크
function goFileUploadCheck(){
if(!isFileChecked){
alert("업로드할 파일을 지정해주셔야 합니다. ");
return;
}
if(!isImgFile){
alert("이미지 파일이 아닙니다. ");
return;
}
if(!isEnableFileSize){
alert("파일업로드 허용용량 "+maxSize/1024+"Kbyte를 초과되었습니다. ");
return;
}
}
<input id="txtUploadFile" style="width: 100%" type="file" size="40" name="NewFile" onchange="javascript:checkFileSize(this);" />
<input type="button" value="Upload" onclick="javascript:goFileUploadCheck();" />
추신 : 반드시 이것으로 만족하여 프로그래밍 하지 말고 반드시 서버단에서도 validation을 해주어야 한다!!!
그래도 발생하는 에러의 90%는 UI단에서 막을수 있다.
'Web(웹) Study > Java Script' 카테고리의 다른 글
새창자동으로 띄우고 화면중앙정렬 (0) | 2008.06.10 |
---|---|
input 입력창에 배경 이미지 깔기 (0) | 2008.06.10 |
javascript(*.js) 파일 Style sheet(*.css)파일 인터넷 캐쉬 문제 관리하기 (3) | 2008.03.26 |
[ajax] 자동 완성 기능 핵심 코드 정리 (0) | 2008.03.26 |
iframe 높이 자동 조절하기 (0) | 2008.03.25 |