アップロードされたファイルを tomcat ディレクトリに保存したいのですが、その後、一部のユーザーがそのファイルをダウンロードするためのアクセス権を取得したいと考えています。現在、ファイルはEclipseディレクトリ、またはEclipseが保存されているディスクに保存されていますが、tomcatディレクトリには保存されていません。Tomcat のパスにアクセスする方法がわかりません。C:\tomcat7\webapps\blabla\ を指定したくありません。Tomcat がある場所のパスを取得したいです。
アップロード コントローラ:
@Controller
@RequestMapping(value = "/upload")
public class UploadController
{
@RequestMapping(method = RequestMethod.GET)
public String getUploadForm(Model model)
{
model.addAttribute(new UploadItem());
return "upload/uploadForm";
}
@RequestMapping(method = RequestMethod.POST)
public String create(UploadItem uploadItem, BindingResult result)
{
if (result.hasErrors())
{
for(ObjectError error : result.getAllErrors())
{
System.err.println("Error: " + error.getCode() + " - " + error.getDefaultMessage());
}
return "upload/uploadForm";
}
// Some type of file processing...
String fileNameToCreate = "/"+uploadItem.getFileData().getOriginalFilename();
File file;
try {
file = new File(fileNameToCreate);
FileUtils.writeByteArrayToFile(file, uploadItem.getFileData().getBytes());
} catch (Throwable e) {
e.printStackTrace();
}
System.err.println("-------------------------------------------");
System.err.println("Test upload: " + uploadItem.getName());
System.err.println("Test upload: " + uploadItem.getFileData().getOriginalFilename());
System.err.println("-------------------------------------------");
return "redirect:/app/";
}
}
このコントローラーからTomcatへのパスを取得する方法、またはそれを修正する方法について誰かがアイデアを持っていることを願っています