Sto provando a scrivere un file multipart caricato nel filesystem. Ho una directory chiamata audio che si trova nella radice della mia applicazione web (non all'interno di WEB-INF, ma accanto ad essa è pubblicamente accessibile come css e javascript).Ottieni root Web App da Spring Controller
Voglio scrivere il file caricato in quella directory ma non riesco a trovare il percorso che mi serve. Ho pensato che ottenere un ServletContext(), quindi usando realPath(), potrebbe funzionare, ma non ho un riferimento a ServletContext tramite un controller Spring. Grazie per qualsiasi HEP
@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.");
}
}
Grazie per avermi fatto questa domanda, è stato molto utile dato che avevo appena avuto questo problema. – MetroidFan2002