ファイルダウンロード実装手順
はじめに
業務のためのメモ代わりの殴り書き。あとできちんとした記事にする。
ファイルダウンロード
最終的にはControllerから Resouce型のファイルをreturnすればいい
ローカルのファイルをDLさせるのであれば
AnyController.java
Resource resource = new FileSystemResource("ここにファイルパス");
return resource;
ファイルを任意の名前でダウンロードさせたい
Controllerの引数に HttpServeletResponse response を追加。
responseのフィールド変数(header)に適切な値をセットする。
return 等はそのままでいい。Spring側がよしなに対応してくれる。
AnyController.java
// 引数の記述は省略
Resource resource = new FileSystemResource("ここにファイルパス");
response.setHeader("Content-Disposition", "attachment; filename=" + "ここにファイル名");
return resource;
全角文字をファイル名に使いたい
ファイル名をURLエンコードされたものにすればOK
AnyController.java
// 引数の記述は省略
Resource resource = new FileSystemResource("ここにファイルパス");
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("ここにファイル名", "UTF-8"));
return resource;