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*の二重引用符を利用する

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
response.setHeader("Content-Disposition", "attachment; filename*=utf-8''" + ファイル名);
response.setHeader("Content-Disposition", "attachment; filename*=utf-8''" + ファイル名);
response.setHeader("Content-Disposition", "attachment; filename*=utf-8''" + ファイル名);

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// 「¥ / : * ? " < > |」 を含むファイル名をエンコードする
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);
// 「¥ / : * ? " < > |」 を含むファイル名をエンコードする 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);
// 「¥ / : * ? " < > |」 を含むファイル名をエンコードする
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