>  기사  >  Java  >  Ajax를 통해 액션 클래스로 생성된 PDF를 어떻게 다운로드할 수 있나요?

Ajax를 통해 액션 클래스로 생성된 PDF를 어떻게 다운로드할 수 있나요?

DDD
DDD원래의
2024-11-01 23:01:29508검색

How Can I Download a PDF Generated by an Action Class via Ajax?

Ajax를 통한 PDF 다운로드 처리: A Solution

Ajax 호출이 액션 클래스에 의해 생성된 PDF 파일을 다운로드하려고 하면 스트림을 브라우저에 전달할 수 없으면 오류가 발생합니다. 이 문제를 해결하려면 다른 접근 방식이 필요합니다.

제공된 액션 클래스에서 PDF 파일이 생성되고 해당 스트림이 올바른 헤더와 함께 다운로드되도록 설정됩니다. 그러나 전송을 용이하게 하려면 Ajax 호출을 다르게 처리해야 합니다.

성공적으로 구현된 솔루션은 다음과 같습니다.

<code class="javascript">$.ajax({
  url: '<URL_TO_FILE>',
  success: function(data) {
    var blob=new Blob([data]);
    var link=document.createElement('a');
    link.href=window.URL.createObjectURL(blob);
    link.download="<FILENAME_TO_SAVE_WITH_EXTENSION>";
    link.click();
  }
});</code>

이 코드에서 Ajax 호출은 PDF 파일을 검색합니다. 데이터 변수로 스트리밍합니다. 그런 다음 데이터에서 Blob 개체를 만듭니다. 새 링크 요소가 생성되고 해당 요소의 href가 Blob의 URL로 설정됩니다. 다운로드 속성은 적절한 확장자를 가진 원하는 파일 이름으로 설정됩니다. 마지막으로 링크를 클릭하여 다운로드 프로세스를 시작합니다.

이 접근 방식은 액션 클래스에서 생성된 PDF 파일을 다운로드용 브라우저로 전달하는 데 효과적인 것으로 입증되었으며, 이를 통해 서버와 클라이언트 간의 원활한 통합이 가능해졌습니다.

위 내용은 Ajax를 통해 액션 클래스로 생성된 PDF를 어떻게 다운로드할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.