मैं फाइल सिस्टम में अपलोड की गई मल्टीपार्ट फ़ाइल लिखने की कोशिश कर रहा हूं। मेरे पास ऑडियो नामक एक निर्देशिका है जो मेरे वेब एप्लिकेशन की रूट में बैठती है (वेब-आईएनएफ के अंदर नहीं, बल्कि इसके बगल में, यह सीएसएस और जावास्क्रिप्ट जैसी सार्वजनिक रूप से सुलभ है)।स्प्रिंग कंट्रोलर से वेब ऐप रूट प्राप्त करें
मैं उस निर्देशिका में अपलोड की गई फ़ाइल लिखना चाहता हूं लेकिन मुझे जिस मार्ग की आवश्यकता है उसे प्राप्त नहीं कर पा रहा हूं। मैंने सोचा कि ServletContext() को realPath() का उपयोग कर काम कर सकता है, लेकिन मेरे पास स्प्रिंग नियंत्रक के माध्यम से 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