자바스크립트로 로컬 파일 사이즈 알아내기
스크립트
사용방법 예제
작성 : 상현넘™ [SHBLITZ.NET]
<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>
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>
<input type="file" name="file" onChange="checkFile(this);" />
</form>
작성 : 상현넘™ [SHBLITZ.NET]