私の問題は、ファイルを作成してユーザーにストリーミングするプログラムがあり、2つの問題があることです。
1)最初にファイル名とタイプ(x.sql)を変更する方法
2)ファイルの作成中に例外が発生した場合、サーブレットの出力ストリームに書き込みたいときにメソッドの戻り値の型が無効であるため、ユーザーをエラーページにリダイレクトしたい!
私のプログラムは次のようなものです:
@RequestMapping(value = "/test/{jobid}")
public void dumpData(@PathVariable("jobid") long jobid, HttpServletResponse response) {
try {
response.setContentType("application/octet-stream");
ServletOutputStream out = response.getOutputStream();
String downloadOutput = "";
// AM I ABLE TO SET FILENAME SO THE USER DOWNLOAD THE FILE WITH THAT NAME ?
// DOES SETHEADER HELP ME IN THIS CASE ?
... (making downloadOutput String by values coming from somewhere)
out.write(downloadOutput.getBytes("UTF-8"));
out.flush();
out.close();
} catch(SomeException e){
//WHEN THE RETURN TYPE IS VOID HOW TO REDIRECT USER TO ERROR PAGE IN CASE OF SOME PROBLEM ?
//(INFO:)IF WE DEFINE STRING AS RETURN TYPE THE PROGRAM WILL GET EXCEPTION
}