Java setContentTypeとsetHeaderメソッドでファイルをダウンロードさせるサンプル

環境
JavaSE 1.8
Eclipse 4.14.0

説明
1.コンテンツタイプをapplication/octet-streamにする
response.setContentType(“application/octet-stream");

2.Content-Dispositionヘッダーの値をattachmentにする
response.setHeader(“Content-Disposition","attachment");

3.filaname*の二重引用符を利用する

response.setHeader("Content-Disposition", "attachment; filename*=utf-8''" + ファイル名);

使用例

// 「¥ / : * ? " < > |」 を含むファイル名をエンコードする
String fileName = URLEncoder.encode("ダウンロードファイル名","UTF-8");
// コンテンツタイプ名の設定
response.setContentType("application/octet-stream; charset=Shift_JIS");
//ヘッダー名の設定 Content-Dispositionヘッダーの値をattachmentにする
response.setHeader("Content-Disposition", "attachment; filename*=utf-8''" + fileName);

 

Java

Posted by arkgame