> Java > java지도 시간 > 본문

Ajax를 사용하여 액션 클래스로 생성된 PDF 파일을 어떻게 다운로드하고 열 수 있나요?

Susan Sarandon
풀어 주다: 2024-10-30 20:20:30
원래의
614명이 탐색했습니다.

How Can I Download and Open PDF Files Generated by an Action Class Using Ajax?

Ajax를 사용하여 PDF 파일 검색 및 열기

Ajax를 통해 액션 클래스에 의해 생성된 PDF 파일을 다운로드하고 표시하려면 다음 접근 방식을 사용할 수 있습니다. 활용하세요:

액션 클래스에서 콘텐츠 유형이 "application/pdf"로 올바르게 설정되어 있고 원하는 파일 이름이 "contentDisposition" 속성에 지정되어 있는지 확인하세요.

<code class="java">public String execute() {
    ...
    ...
    File report = signedPdfExporter.generateReport(xyzData, props);

    inputStream = new FileInputStream(report);
    contentDisposition = "attachment=\"" + report.getName() + "\"";
    contentType = "application/pdf";
    return SUCCESS;
}</code>
로그인 후 복사

Ajax 호출에서 스트림 응답을 효과적으로 처리하도록 요청을 구성합니다.

<code class="javascript">$.ajax({
    type: "POST",
    url: url,
    data: wireIdList,
    cache: false,
    success: function(data) {
        // Convert the response data to a Blob object
        var blob = new Blob([data]);
        // Create a link element to trigger the download
        var link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        // Set the desired file name for download
        link.download = "filename_with_extension.pdf";
        // Simulate a click event to initiate the download
        link.click();
        // Remove the Blob URL once the download completes
        window.URL.revokeObjectURL(blob);
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert('Error occurred while opening fax template' + getAjaxErrorString(textStatus, errorThrown));
    }
});</code>
로그인 후 복사

이 접근 방식을 통합하면 액션 클래스에서 생성된 PDF 파일을 Ajax를 사용하여 성공적으로 다운로드하고 열 수 있습니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿