Menu Zamknij

asp 대용량 파일 다운로드

경우에 따라 ASP.NET 웹 양식 또는 ASP.NET MVC 응용 프로그램에서는 사용자가 다운로드를 위해 이러한 파일에 직접 액세스하지 못하도록 App_Data 같은 보안 폴더에 보안 파일 중 일부를 넣을 수 있습니다. 이 경우 Download.aspx 파일 또는 Download.ashx http 처리기(ASP.NET 웹 양식)를 작성하거나 사용자가 이러한 기능을 사용하여 이러한 파일을 다운로드할 수 있는 다운로드 작업(ASP.NET MVC)을 만듭니다. 이 상황에 대 한 소스 코드가 많이 있습니다. 하지만! 예를 들어, 이러한 파일의 크기 (길이)가 큰 경우, 예를 들어, 100 MB 이상! 우리는 두 가지 주요 문제가 있습니다. 미들웨어를 사용하여 원하는 논리를 호출하고 원격 파일을 가져올 수 있습니다. 느리고 잘못된 연결은 오랫동안 대용량 파일 다운로드의 금지되었습니다. 공항 콩코스에서 스케치 WiFi 연결을 통해 미디어를 수집하여 장거리 비행 중 프레젠테이션을 하거나 태양열 워터 펌프용 위성 링크를 통해 대형 설치 파일을 다운로드하려는 아프리카 사바나에 있을 수 있습니다. 두 경우 모두 대용량 파일 다운로드 충돌이 발생해도 시간 손실, 생산성 저하 및 할당 성공이 저해되는 것과 같은 비용이 동일합니다. FileDownloader.exe는 여러 스레드를 시작할 수 있으며, 그림 2와 같이 지정된 „청크 바이트”로 나눈 파일의 총 크기에 따라 다운로드되는 파일의 별도의 부분(바이트 범위)에 해당하는 별도의 HttpWebRequest 호출을 각각 실행합니다. IIS 웹 서버는 이미 확장성이 뛰어난 엔터프라이즈급 웹 서버로 입증되어 수년 동안 브라우저에 파일을 제공합니다.

기본적으로 많은 HTTP 웹 요청을 동시에 처리하고 파일 다운로드(복사)에 적용하는 IIS 웹 서버의 기능을 활용하고자 했습니다. 웹 브라우저에 내장된 기본 다운로드 클라이언트는 https://localhost/DownloadPortal/Download?file=test.txt&chunksize=5242880 같은 URL을 사용하여 다운로드 클라이언트로 사용할 수도 있습니다. 외부 파일을 공유하기 위해 파일 서버와 핵심 응용 프로그램 서버가 동일한 네트워크 아래에 있습니까? mgebhard의 제안으로 파일 폴더를 공유 한 다음 Http Request를 사용하는 대신 공유 폴더 주소를 통해 파일에 직접 액세스 할 수 있습니다. https://support.microsoft.com/en-sg/help/324267/how-to-share-files-and-folders-over-the-network-in-a-windows-server-20 그림 1은 다운로드핸들러.dll 및 FileDownloader.exe의 디자인에 대한 높은 수준의 개요로, 서버 컴퓨터의 하드 드라이브에 있는 파일의 청크가 DownloadHandler.dll 및 FileDownloader.exe를 통과하여 클라이언트 컴퓨터의 하드 드라이브에 있는 파일로 전달됨에 따라 처리 흐름을 보여 주며 해당 프로세스에 관련된 HTTP 프로토콜 헤더를 보여 줄 수 있습니다.