Я хочу сохранить загруженные файлы в каталоге tomcat, а после этого хочу, чтобы некоторые пользователи получили доступ к загрузке этих файлов. Теперь файлы сохраняются в каталоге eclipse или на диске, где сохраняется eclipse, но никогда в каталоге tomcat. Я не знаю, как получить доступ к пути tomcat, я не хочу давать: C: \ tomcat7 \ webapps \ blabla \, я хочу получить путь туда, где когда-либо был tomcat.путь tomcat при сохранении файла весной mvc
Загрузить Контроллер:
@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. Вообще говоря, у вас будет какой-то файловый магазин, такой как Amazon S3. Я думаю, что любой подход, который хранит файлы, загруженные пользователем в Tomcat, просто звучит как плохая идея. – david99world
Что @ david99world сказал. :) – Steve
I double @ david99world. Ваше приложение не будет переносимым. Представьте, что он развернут в tomcat в системе, где папка tomcat доступна только для чтения в целях безопасности. Вам нужно настроить место для хранения файлов. Этот параметр (путь к папке) является типичным параметром развертывания, вы можете передать его как переменную среды или как системное свойство, например. –