asp 다중 다운로드

HTTP는 요청/응답 시스템입니다. 모든 응답은 요청에 대한 응답으로 제공해야합니다. 이 경우 단일 요청에 대해 여러 응답을 보낼 수 없습니다. 다른 것이 없다면 해당 응답을 수신 대기중인 클라이언트가 없을 것입니다(이미 대기 중인 응답을 얻었기 때문입니다). 이 문서에서는 ASP.NET MVC 5에서 압축 된 형식으로 여러 파일을 다운로드하는 방법을 배웁니다. “새 응답”이 필요한 여러 파일을 다운로드하려면 예를 들어 jQuery를 사용하여 $.ajax를 사용하여 여러 파일 다운로드 코드가 첫 번째 파일을 보내는 이유를 묻는 질문이 포럼에 자주 나타납니다. 일반적으로 코드는 파일 컬렉션을 반복하고 Response.TransmitFile 또는 MVC의 FileResult를 사용하여 각 파일을 클라이언트에 디스패치하는 루프로 구성됩니다. 이것이 작동하지 않는 이유는 기본적으로 불가능하기 때문입니다. 보안상의 이유로 지원되지 않습니다. 이 시나리오를 사용하도록 설정하는 잠재적 인 악용은 악의적인 웹마스터가 요청된 파일 외에 클라이언트에 전체 악성 코드 로드를 보낼 수 있는 드라이브 바이 다운로드라고 합니다. http://www.motobit.com/tips/detpg_multiple-files-one-request/ 이 짧은 문서에서는 여러 파일 다운로드가 활성화되지 않는 이유에 대해 설명하고 .NET 프레임워크 코드만 사용하여 ASP.NET MVC 및 Web Forms 시나리오에서 솔루션을 제공하는 해결 방법을 제시했습니다. 소개 이 문서에서는 MVC 5를 사용하여 압축 된 형식으로 여러 파일을 다운로드하는 방법에 대해 설명합니다 ASP.NET. zip 형식으로 여러 파일을 다운로드하는 방법에는 여러 가지가 있지만 이 문서에서는 단계별 프로세스에서 가장 쉬운 방법을 설명합니다.

배경 우리는 서버 경로 또는 네트워크 경로와 같은 대상 위치에 다른 소스에서 zip 형식을 사용하여 여러 파일을 다운로드 할 수 있습니다. 이 문서에서는 네트워크 경로뿐만 아니라 서버 경로에서 파일을 다운로드하는 방법을 볼 수 있습니다. 서버 또는 다른 네트워크 경로에서 다운로드하거나 업로드하는 위치에서 해당 폴더에 대한 권한을 부여해야 합니다. 다음은 압축 된 파일로 여러 파일을 다운로드하는 단계입니다. 1단계 Visual Studio로 이동하여 웹 응용 프로그램을 새로 ASP.NET 관련 프로젝트 이름을 할당합니다. 아래 스크린샷을 따라가세요. 2단계 템플릿 창에서 MVC 템플릿을 선택하고 확인을 클릭합니다. 3 단계 솔루션 탐색기로 이동, 컨트롤러 폴더를 마우스 오른쪽 버튼으로 클릭 하 고 새 컨트롤러를 추가, 아래 화면에 표시 된 대로: 컨트롤러 창열립니다.

“MVC 컨트롤러- 비어 있음”을 선택하고 추가를 클릭합니다. 컨트롤러 이름을 지정하고 확인을 다시 클릭합니다. 4단계 파일 정보에 대한 클래스 및 속성을 추가합니다. 다음 스크린샷은 클래스 및 클래스 속성을 추가하는 방법을 설명합니다. 모델 폴더를 마우스 오른쪽 버튼으로 클릭하고 추가를 클릭하고 클래스 옵션을 선택합니다. 마지막으로 이 클래스에 이름을 지정합니다. 5 단계 클래스를 추가 한 후 클래스 속성을 추가합니다. 클래스 속성은 파일 세부 정보를 가져오고 저장하는 데 도움이 됩니다. Zip 파일이 없다면 한 번에 한 개 이상의 파일을 다운로드 할 수 없습니다. 결국 타협해야 합니다. 여러 파일을 zip 파일로 다운로드하거나 msi 파일을 다운로드하여 실행할지 선택해야 합니다. 이 짧은 문서에서는 ASP.NET 응용 프로그램에서 클라이언트에 여러 파일을 보내려고 할 때 많은 사람들이 직면하는 당황스러운 문제를 살펴보고 해결책을 제공합니다.

파일 목록은 ViewBag을 통해 뷰에 전달됩니다: 파일 뒤에 있는 코드의 Page_Load 메서드는 MVC 예제의 Action 메서드와 매우 유사합니다.