c# 파일 업로드 예제

다음 예제에서는 코드에 지정된 경로에 파일을 저장하는 FileUpload 컨트롤을 만드는 방법을 보여 줍니다. 컨트롤은 2MB로 업로드할 수 있는 파일의 크기를 제한합니다. PostedFile 속성은 기본 ContentLength 속성에 액세스하고 파일의 크기를 반환하는 데 사용됩니다. 업로드할 파일의 크기가 2MB 미만이면 SaveAs 메서드를 호출하여 서버의 지정된 경로에 파일을 저장합니다. 응용 프로그램 코드에서 최대 파일 크기 설정을 확인하는 것 외에도 httpRuntime 요소의 maxRequestLength 특성을 응용 프로그램의 구성 파일에서 허용되는 최대 크기로 설정할 수 있습니다. FileUpload 컨트롤은 부분 페이지 렌더링 중에 비동기 포스트백 시나리오가 아닌 포스트백 시나리오에서만 사용되도록 설계되었습니다. UpdatePanel 컨트롤 내에서 FileUpload 컨트롤을 사용하는 경우 패널의 PostBackTrigger 개체인 컨트롤을 사용하여 파일을 업로드해야 합니다. UpdatePanel 컨트롤은 포스트백으로 전체 페이지를 업데이트하는 대신 페이지의 선택한 영역을 업데이트하는 데 사용됩니다. 자세한 내용은 업데이트패널 제어 개요 및 부분 페이지 렌더링 개요를 참조하십시오. 서비스 거부 공격을 방지하는 한 가지 방법은 FileUpload 컨트롤을 사용하여 업로드할 수 있는 파일의 크기를 제한하는 것입니다.

업로드할 파일 유형에 적합한 크기 제한을 설정해야 합니다. 기본 크기 제한은 4096KB 또는 4메가바이트(MB)입니다. httpRuntime 요소의 maxRequestLength 특성을 설정하여 더 큰 파일을 업로드하도록 허용할 수 있습니다. 전체 응용 프로그램에 대해 허용되는 최대 파일 크기를 늘리려면 Web.config 파일에서 maxRequestLength 특성을 설정합니다. 지정된 페이지에 대해 허용되는 최대 파일 크기를 늘리려면 Web.config의 위치 요소 내에서 maxRequestLength 특성을 설정합니다. 예를 들어 위치 요소(ASP.NET 설정 스키마)를 참조하십시오. 파일을 업로드 할 수있는 HTML 양식에 대한 요구 사항은 매우 간단합니다 : 당신은 멀티 파트 / 양식 데이터 암호화를 사용하고 게시물의 방법을 사용해야합니다. 대용량 파일을 업로드할 때 사용자는 다음과 같은 오류 메시지를 받을 수도 있습니다. 상태 메시지는 모든 메시지에 대해 명확하게 표시해야 하며 필요에 맞게 변경할 수 있습니다. 보안은 또 다른 문제입니다. 데모 프로젝트에서 는 프로젝트가 실행되는 동일한 폴더에 파일을 저장합니다. 이를 위해 ASPNET 계정(ASP.NET 프로세스를 실행하는 데 사용되는 계정)에는 해당 폴더에 쓰기 권한이 있어야 합니다.

기본적으로 는 하지 않습니다., 그래서 당신은 폴더를 마우스 오른쪽 단추로 클릭 해야, 보안 탭으로 이동 하 고 목록에 ASP.NET 계정을 추가.