DB 테이블과 함께 작동하는 사용자 지정 문서 개체를 만들었습니다. 생성자에서 행의 ID를 전달합니다 (나는 나쁜 관행을 알고 있습니다. 하지만 훨씬 더 빠를 수 있습니다). 이렇게 하면 디스크에 있는 파일의 경로를 포함하여 데이터베이스에서 모든 파일 정보를 가져옵니다. 메인 스레드를 차단하지 않고 파일을 다운로드하려면 비동기 방법을 사용 DownloadFileAsync. 이벤트 처리기를 설정하여 진행률을 표시하고 파일이 다운로드되는 것을 감지할 수도 있습니다. web.config 파일에 처리기를 등록하거나 IIS 설정을 엉망으로 만들지 않고도 파일을 전달하기 전에 간단한 인증 검사를 수행했습니다. IIS 7.0을 실행하는 서버에서 호스팅되는 경우 상황이 훨씬 쉬워집니다. 새로운 통합 파이프라인 모델을 사용하면 응용 프로그램의 web.config 파일을 간단하게 변경하면 응용 프로그램 내의 모든 콘텐츠가 항상 ASP.NET 처리되므로 non-ASP.NET 콘텐츠가 ASP.NET 양식 인증에 참여할 수 있습니다. 이 문서에서는 변경 하는 방법을 자세히 설명 합니다. 참조: asp.net PDF 파일을 스트리밍하려고 하면 “손상된 파일”을 생성하고 있습니다 당신은 클릭할 때 파일 다운로드를 트리거합니다 귀하의 사이트에 HTML 요소의 일종을 만들 찾고 있습니다. 아주 간단한 요청처럼 보이지만, 그 다음에 조금 더 나타납니다.

기본적으로 웹 브라우저는 특정 파일 형식을 처리하는 설정된 방법을 갖습니다. 예를 들어 사용자가 이미지 파일을 다운로드할 수 있도록 하려면 이미지 의 경로를 href에 넣기만 하면 실제로 파일을 다운로드하는 대신 새 탭/창에서 이미지를 열수 있습니다. ASP MVC를 사용하여 파일을 다운로드하는 데 필요한 것은 다음과 같습니다. 참고: 비동기 메서드를 사용 하지만 잠시 동안 기본 스레드를 차단할 수 있습니다. 비동기 다운로드 자체가 DNS 이름(이 경우 “mysite.com”)을 확인하고 이 검사는 내부적으로 차단 기능을 통해 수행되기 때문입니다. 도메인 이름 대신 직접 IP를 사용하는 경우 DownloadFileAsync 메서드는 완전히 비동기가 됩니다. 이 작업은 작동하는 것처럼 보이지만 인증되지 않은 사용자가 브라우저에 http://www.mysite.com/Private/HelloWorld.txt 입력하면 .txt 파일을 처리하도록 ASP.NET 구성되지 않았기 때문에 파일이 제공됩니다. 앞서 언급했듯이 이 항목의 대다수 문서에서는 .txt를 IIS 내에서 aspnet.dll에 매핑하고, HttpHandler를 만들어 파일 액세스를 관리한 다음 web.config 파일 내에 해당 처리기를 등록하는 방법을 보여 준다.

Uncategorized