Spring MVC コントローラーを使用して PDF ファイルをダウンロードしようとしています (以下のコードを参照)。ただし、「Content-Disposition」を使用しているにもかかわらず、PDF ファイルがブラウザー (Chrome/Firefox/Internet Explorer) に表示されます。代わりに、「名前を付けて保存」ダイアログを表示したい。誰かが私のコードの何が問題なのか分かりますか、それともこれを機能させるために追加のスプリング構成が必要ですか?
@Controller
public class PdfController {
@Autowired
private PdfService pdfService;
@RequestMapping(value = "/" + "temp", method = RequestMethod.GET)
public void downloadPdf(final HttpServletRequest request,
final HttpServletResponse response) throws IOException,
TemplateException, DocumentException {
InputStream pdfInputStream = new ByteArrayInputStream(
pdfService.createPdf());
IOUtils.copy(pdfInputStream, response.getOutputStream());
String filename = "CustomFileName.pdf";
response.setHeader("Content-Disposition", "attachment; filename="
+ filename.replace(" ", "_"));
response.setContentType("application/pdf");
response.flushBuffer();
}
}