2013-07-10 4 views
0

내 asp.net mvc 4 사이트에서 사용자가 표준 파일 업 로더를 통해 사진을 업로드 할 수있는 기능이 있습니다. 사진은 SQL Server 내의 파일 테이블에 저장됩니다.큰 파일 이미지 업로드 처리

사용자가 매우 큰 사진을 업로드하는 문제가 최근에 발생했습니다. 즉, 이미지를 렌더링 할 때 대역폭을 먹어 버리는 것을 의미합니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 업로드되는 파일의 크기를 제한 할 수 있습니까? 아니면 품질을 유지하면서 업로드되는 바이트 수를 줄이는 방법이 있습니까?

답변

0

This question and answer may also be helpful

당신은 또한조차하지 않는 올리기 전에 자바 스크립트 파일의 크기를 확인 할 수있는 더 쉬운 오류를 제공하기 위해 maximumRequestLength의 구성 설정 및 방법을 this post를 참조하십시오 당신은 오 크기를 조정 WebImage.Resize()를 사용할 수있는 서버 측에서,

if(Math.floor(file.size/1024 /1024) >= 15) 
{ 
    alert('File size is greater than maximum allowed. Please make sure that the file is smaller than 15 MegaBytes.' ); 
    return false; 
} 

또한 : 너무 큰 (15메가바이트보다 더 아무것도 체크 아래 코드) 인 경우 서버로 전송 파일이 업로드되었습니다. 업로드하는 동안 대역폭에 도움이되지 않지만 후속 다운로드가 훨씬 빨라집니다. 이미지를 작게 만들면 품질이 다소 떨어질 수 있지만 일반적으로 좋은 결과를 얻으려면 왜곡되지 않도록 가로 세로 비율을 유지할 수있는 옵션을 선택하십시오.

업로드하기 전에 바이트를 줄이면 브라우저에서이 방법을 알 수있는 방법이 없습니다. 웹 응용 프로그램에서 WebImage.Resize 메서드를 사용하여 업로드하기 전에 파일의 크기를 조정하는 별도의 클라이언트 측 응용 프로그램을 제공 할 수 있습니다.