P粉0717437322023-08-17 12:50:47
파일 확장자는 사실 이것과 크게 관련이 없습니다... Content-Type
헤더는 그렇습니다.
귀하의 설명에 따르면 PDF 파일을 가져올 때 서버가 응답에 올바른 유형을 사용하지 않고 대신 application/octet-stream
또는 다른 유형으로 보내는 것 같습니다. (이것은 일반적인 유형이며 브라우저는 기본적으로 다운로드합니다.)
이 문제를 해결하는 방법에는 여러 가지가 있습니다. 한 가지 방법은 ServiceWorker를 사용하여 필요에 따라 Content-Type
헤더를 재정의하는 것입니다. 그러나 이것이 항상 작동하는 것은 아닙니다. 브라우저는 페이지를 강제로 다시 로드하거나 개인정보 보호 모드가 활성화된 경우 서비스 워커를 비활성화하는 경우가 많습니다.
당신이 제안한 것에 더 가까운 또 다른 접근 방식은 JavaScript로 PDF를 메모리에 저장하는 것입니다. Fetch API를 사용하여 이 작업을 수행한 다음 Blob URL을 만들고 브라우저에서 다운로드하도록 할 수 있습니다. 아직 테스트되지 않았지만 대략적으로 다음과 같습니다.
으아악특히 큰 문서에는 작동하지 않을 수 있습니다. 작은 문서도 문제 없습니다.
또한 모든 브라우저가 PDF를 표시할 수 있는 것은 아니며 모든 시스템이 브라우저가 자체적으로 PDF를 표시할 수 있도록 구성되어 있지도 않습니다.