Ajax を使用して PDF ファイルを取得して開く
アクション クラスによって生成された PDF ファイルを Ajax 経由でダウンロードして表示するには、次のアプローチを使用できます。利用可能:
アクション クラスで、コンテンツ タイプが「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 中国語 Web サイトの他の関連記事を参照してください。