파일을 업로드하기 전에 파일의 크기를 검색하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/547292

문제

내 웹 앱에 파일 입력 태그가 있습니다. 파일을 서버로 전송하기 전에 파일이 너무 크지 않은지 확인하고 싶습니다. 물론 여전히 검증 서버 측면이 있습니다. JavaScript 로이 작업을 수행 할 수있는 방법이 있습니까? IE7+ 및 FF3+에서 작동해야합니다. 고맙습니다.

편집 : somefileInputObject.files [0] .FileSize는 FF에서 작동하지만 IE는 아닙니다.

도움이 되었습니까?

해결책

어려운 문제입니다. AJAX로 수행하고 게시물 요청에서 브라우저에서 서버로 보내는 파일 크기 헤더를 사용해야합니다.

Yahoo의 UI 라이브러리에는이를 돕는 도구가 있습니다. 유비 업 로더

다른 팁

JavaScript는 이것을 할 수 없습니다. 심각한 보안 문제가있을 것입니다. 아마도 플래시는 아마도 가능합니다.

모든 브라우저에 대해 JavaScript로 안정적으로 수행 할 수는 없지만 게시 된 데이터의 총 크기를 web.config

짧은 대답 : 아니요, 서버에서 처리해야합니다.

긴 대답 : 신뢰할 수 없습니다. IE를 사용하면 다음과 같은 작업을 수행 할 수 있습니다.

function checkSize(filespec) {
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = f.size;
// Do something with var s
}

그러나 이는 브라우저의 보안 설정 또는 다른 브라우저 또는 플랫폼의 사용으로 쉽게 구성 할 수 있습니다.

기존 파일 입력 컨트롤을 사용하는 경우 옵션이 많지 않습니다. 클라이언트 측에서 확인할 수 없으며 서버 측면을 확인하기 전에 구성된 MaxRequestLength에 도달합니다. MaxRequestlength가 초과 될 때 발생하는 예외를 포착 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top