asp 파일 업로드 예제

asp 파일 업로드 예제
0 August 2, 2019

웹 사이트에 단일 파일 업로드 기능을 추가하려면 사용자가 업로드 인터페이스를 표시할 위치에 태그에 FileUpload 컨트롤을 포함하면 됩니다. 코드는 다음과 같이 보일 수 있습니다: FileUpload 컨트롤을 제한하여 파일 형식을 업로드할 수 있습니다. 예를 들어 이미지 (Jpgs 및 GIF)를 업로드하고 싶었기 때문에 GIF와 Jpegs만 허용하는 유효성 검사기를 넣었습니다. 파일 뒤에 있는 코드에서 FileUpload를 인스턴스화하는 대신 태그 파일(.aspx file)에 선언하면 서버에 파일을 업로드하는 데 사용되는 입력 컨트롤러입니다. 로컬 컴퓨터에서 파일을 선택 하려면 창을 팝업 하는 폼에 찾아보기 단추를 만듭니다. FileUpload는 단일 및 다중 파일 업로드를 지원합니다. 사용자가 찾아보기 버튼을 통해 업로드할 파일을 선택할 수 있습니다. 컨트롤은 선택한 파일을 서버에 자동으로 저장하지 않지만 SaveAs 메서드를 노출하여 이 작업을 수행합니다. 웹 응용 프로그램에 FileUpload를 배포하는 것은 매우 쉽습니다. 먼저 한 번에 하나의 파일을 업로드하는 방법에 대해 살펴보겠습니다. 여기에서는 웹 형식으로 파일 업로드 컨트롤을 구현하고 있습니다. 업로드할 파일이 요청이 처리되는 동안 메모리 또는 서버에 일시적으로 저장되는지 여부를 제어하려면 httpRuntime 요소의 requestLengthDiskThreshold 특성을 설정합니다. 이 특성을 사용하면 입력 스트림 버퍼의 크기를 관리할 수 있습니다.

기본값은 256바이트입니다. 지정한 값은 maxRequestLength 특성에 대해 지정한 값을 초과하지 않아야 합니다. 프로젝트로 디렉토리를 만들어 아래 화면 촬영에서와 마찬가지로 업로드된 파일을 저장합니다. ASP.NET 사용자가 웹 서버에 파일을 업로드할 수 있는 두 가지 컨트롤이 있습니다. 서버가 게시된 파일 데이터를 받으면 응용 프로그램은 이를 저장하거나 확인하거나 무시할 수 있습니다. 다음 컨트롤을 사용하면 파일 업로드가 허용됩니다: 서비스 거부 공격을 방지하는 한 가지 방법은 FileUpload 컨트롤을 사용하여 업로드할 수 있는 파일의 크기를 제한하는 것입니다. 업로드할 파일 유형에 적합한 크기 제한을 설정해야 합니다. 기본 크기 제한은 4096KB 또는 4메가바이트(MB)입니다. httpRuntime 요소의 maxRequestLength 특성을 설정하여 더 큰 파일을 업로드하도록 허용할 수 있습니다. 전체 응용 프로그램에 대해 허용되는 최대 파일 크기를 늘리려면 Web.config 파일에서 maxRequestLength 특성을 설정합니다. 지정된 페이지에 대해 허용되는 최대 파일 크기를 늘리려면 Web.config의 위치 요소 내에서 maxRequestLength 특성을 설정합니다.

예를 들어 위치 요소(ASP.NET 설정 스키마)를 참조하십시오. 당신이 볼 수 있듯이, 그것은 모두 상대적으로 간단. UploadButton을 클릭하면 업로드 컨트롤에 파일이 지정되었는지 확인합니다. 있는 경우 FileUpload 컨트롤 SaveAs 메서드를 사용하여 파일을 저장합니다. 우리는 프로젝트의 루트 (우리는 이것을 얻기 위해 MapPath 메서드를 사용)뿐만 아니라 사용자가 지정한 경로의 이름 부분을 사용합니다. 모든 것이 잘 되면 StatusLabel의 Text 속성을 설정하여 사용자에게 알립니다 . 여기서는 두 속성인 ContentLength 및 ContentType을 사용하여 사용자가 업로드하려는 파일을 몇 가지 기본 검사로 확인합니다. 상태 메시지는 모든 메시지에 대해 명확하게 표시해야 하며 필요에 맞게 변경할 수 있습니다. 업로드할 파일을 선택한 후 업로드 버튼을 클릭하여 웹 사이트에서 원하는 위치에 파일을 업로드합니다. 게시된 파일은 FileUpload 클래스의 PostedFile 속성을 통해 액세스할 수 있는 HttpPostedFile 형식의 개체에 캡슐화됩니다.

사용자가 이 오류 메시지가 발생하면 응용 프로그램에 대한 Web.config 파일의 프로세스모델에서 memoryLimit 특성의 값을 늘립니다. memoryLimit 특성은 작업자 프로세스에서 사용할 수 있는 최대 메모리 양을 지정합니다. 작업자 프로세스가 메모리Limit 양을 초과하면 새 프로세스를 대체하기 위해 새 프로세스가 만들어지고 모든 현재 요청이 새 프로세스에 다시 할당됩니다.

Posted by medmedia