업로드 된 멀티 파트 파일을 파일 시스템에 쓰려고합니다. 나는 내 웹 응용 프로그램의 루트에 앉아있는 audio라는 디렉토리를 가지고 있습니다 (WEB-INF 안이 아니라 옆에 CSS와 javascript처럼 공개적으로 액세스 할 수 있음).스프링 컨트롤러에서 웹 응용 프로그램 루트 가져 오기
내가 업로드 한 파일을 해당 디렉토리에 쓰고 싶지만 필요한 경로를 얻을 수없는 것 같습니다. 나는 ServletContext()를 얻고 realPath()를 사용하는 것이 효과적일지도 모른다고 생각했지만 Spring 컨트롤러를 통해 ServletContext에 대한 참조를 가지고 있지 않습니다. 어떤 형 간염
@RequestMapping(value="/uploadSample")
public ModelAndView upload(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile f) {
if (f == null) {
return new ModelAndView("upload", "msg", "The file is null.");
}
try {
// I need to set AUDIO_PATH to <webAppRoot>/audio
FileOutputStream file = new FileOutputStream(AUDIO_PATH + "/" + f.getOriginalFilename());
file.write(f.getBytes());
file.close();
}
catch (FileNotFoundException ex) {
Logger.getLogger(SampleUploadController.class.getName()).log(Level.SEVERE, null, ex);
}
catch (IOException ex) {
Logger.getLogger(SampleUploadController.class.getName()).log(Level.SEVERE, null, ex);
}
return new ModelAndView("upload", "msg", "File (" + f.getOriginalFilename() + ") successfully uploaded.");
}
} 주셔서 감사합니다
이 질문을 해 주셔서 감사합니다.이 문제도 이미 유용 했으므로 매우 도움이되었습니다. – MetroidFan2002