문제

vb.net과 함께 asp.net을 사용하고 있습니다. 업로드 된 이미지의 크기를 확인할 수있는 유효성 검사기가 있습니까? 그렇지 않으면 사용자가 1MB 이상 이미지를 업로드하지 않도록 코드에서 무엇을해야합니까?

PS C# 코드도 할 것입니다. vb.net으로 변환기를 사용할 수 있습니다.

편집하다

어떤 이유로 든 MaxRequestLength를 1024 (내 Web.config에서)로 변경하고 크기 1.25MB의 이미지를 업로드 한 다음 "Internet Explorer가 웹 페이지를 표시 할 수 없음"이라는 Microsoft 오류 페이지를 얻습니다. 제출 버튼 안에 시도 캐치 블록이 있습니다. 내 web.config에서 maxRequestLength를 제거하면 잘 작동합니다.

도움이 되었습니까?

해결책

이것은 궁극적으로 web.config에서 처리됩니다. httpruntime 섹션을 찾으십시오.

<httpRuntime 
 executionTimeout="110" 
 maxRequestLength="4096" 
/>

Httpruntime에는 다른 많은 설정이 있지만 이들은 관련이있는 두 가지 설정입니다. 여기서 MaxRequestLength는 4096 또는 4KB로 설정됩니다 (숫자는 바이트입니다). 따라서이 값을 그에 따라 설정하십시오. 또한 그에 따라 실행 시간을 설정하려면 최대 업로드가 무엇이든 업로드 할 수있는 합리적인 시간을 제공합니다.

다른 팁

다음 코드를 사용하여 업로드 된 파일의 크기 [KB]를 결정할 수 있으며 크기를 알면 파일을 추가로 진행하거나 업로드를 거부 할 것인지 쉽게 결정할 수 있습니다.

Request.Files(0).ContentLength / 1024

ASP.NET은 대형 요청에 따라 DOS 공격을 완화하기위한 대형 요청에 대한 연결을 중단하기 때문에 웹 페이지 오류가 발생합니다. 이 문제를 해결하려면 iframe에서 업로드를 수행 한 다음 오류가 발생했는지 여부를 감지해야합니다. 또한 클라이언트에 설치된 플래시, 실버 라이트, Java 또는 ActiveX 업 로더 구성 요소를 사용하여 파일 크기 클라이언트 측의 유효성을 검증 할 수 있지만 솔루션에 따라 설치가 필요합니다.

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