ホームページ >Java >&#&チュートリアル >Spring コントローラーを使用してファイルをストリーミングしてダウンロードするにはどうすればよいですか?
Spring コントローラーからのファイルのダウンロード
Web サイトから PDF をダウンロードする必要がある場合、次を使用してファイルを動的に生成することを検討するのが一般的です。 FreeMarker と iText などの PDF フレームワークの組み合わせ。ただし、追加のオプションを検討すると、より効率的なソリューションにつながる可能性があります。
効果的なアプローチの 1 つは、Spring コントローラーを利用してファイルのダウンロードを処理することです。これを実現するには、Spring が提供する HttpServletResponse クラスを利用できます。次のコード サンプルは、ファイル ダウンロード用のコントローラーを設定する方法を示しています。
@RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET) public void getFile( @PathVariable("file_name") String fileName, HttpServletResponse response) { try { // get your file as InputStream InputStream is = ...; // copy it to response's OutputStream org.apache.commons.io.IOUtils.copy(is, response.getOutputStream()); response.flushBuffer(); } catch (IOException ex) { log.info("Error writing file to output stream. Filename was '{}'", fileName, ex); throw new RuntimeException("IOError writing file to output stream"); } }
response.getOutputStream() を利用することで、生成された PDF を含むあらゆるデータをクライアントにストリーミングできます。さらに、response.setContentType() を設定することでファイルの種類を指定できます。 PDF の場合は、response.setContentType("application/pdf"); となります。
以上がSpring コントローラーを使用してファイルをストリーミングしてダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。