파일이 내 서버에 먼저 다운로드되지 않고 다른 서버에있는 경우 ASP.Net MVC를 사용하여 브라우저에서 강제 파일 다운로드

Gaurav Mantri

내가 달성하고 싶은 것은 다음과 같습니다.

  • Windows Azure Blob Storage에 파일이 저장되어 있습니다 (또는 웹 서버에 없지만 URL을 통해 액세스 할 수있는 파일).
  • 먼저 웹 서버에서 파일을 실제로 다운로드하지 않고 강제로 파일을 다운로드하고 싶습니다. 즉, 브라우저가이 외부 URL에서 파일을 자동으로 가져 와서 사용자에게 다운로드하라는 메시지를 표시해야합니다.

탐색 가능한 솔루션 :

지금까지 살펴본 내용과 작동하지 않는 이유는 다음과 같습니다.

  • FileContentResult여기에 설명 된 것과 같은 것을 사용 하여 파일 을 다운로드하기 위해 ASP.NET MVC에서보기 / 다운로드로 파일 반환 . 이 솔루션을 사용하려면 서버에서 콘텐츠를 가져온 다음 서버에서 브라우저로 스트리밍해야합니다. 이러한 이유로이 솔루션은 작동하지 않습니다.
  • HTML 5 download속성 사용 : HTML 5 download속성은 완벽하게 작동했지만 실제로는 매우 깔끔한 솔루션이지만 모든 브라우저에서 지원되지는 않는다는 문제가 있습니다.
  • 파일의 콘텐츠 유형 변경 : 파일의 콘텐츠 유형 속성을 브라우저가 이해할 수없는 것으로 변경하여 파일을 다운로드해야하는 다른 방법 (적어도 내가 소유 한 파일에 대해)을 수행 할 수 있습니다. 이는 일부 브라우저에서 작동 할 수 있지만 IE는 콘텐츠 유형을 넘어서서 콘텐츠 유형을 결정하기 위해 파일의 콘텐츠를 볼만큼 똑똑하기 때문에 전혀 작동하지 않습니다. 또한 파일을 소유하지 않으면 파일의 콘텐츠 유형을 변경할 수 없습니다.

간단히 말해서, 컨트롤러 작업에서 파일의 URL을 지정할 수 있어야하고 브라우저가 파일을 강제로 다운로드해야합니다.

이것이 성취 될 수있는 것입니까? 그렇다면 어떻게이 작업을 수행 할 수 있습니까?

CodeCaster

간단히 말해서, 컨트롤러 액션에서 파일의 URL을 지정할 수 있어야하며 브라우저는 어떻게 든 [파일의 URL을 클라이언트에 노출하지 않고] 파일을 강제로 다운로드해야합니다.

당신은 할 수 없습니다. 최종 URL을 숨긴 상태로 유지하려면 서버에서 데이터를 제공해야하므로 서버는 URL에서 파일을 다운로드해야합니다.

클라이언트는 URL을 가져올 수없는 파일을 다운로드 할 수 없습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관