Я использую MultipartFile Spring Framework, чтобы позволить пользователю загружать изображение в профиль. Я настроил DispatcherServlet в классе инициализатора сервлета, который расширяет AbstractAnnotationConfigDispatcherServletInitializer. В этом классе я переопределил метод customRegistration() следующим образом:
Код: Выделить всё
@Override
protected void customizeRegistration(Dynamic registration) {
registration.setMultipartConfig(new MultipartConfigElement("/tmp/practicewellness/uploads", 2097152, 4194304, 0));
}
Метод TransferTo() класса MultipartFile вызывает местоположение файла в файловой системе, куда загруженный файл будет временно записан. Может ли это место быть где угодно? Когда я использовал в методе следующее местоположение:
Код: Выделить всё
profilePicture.transferTo(new File("tmp/practicewellness/" + employee.getUsername() + ".jpg"));
... Я получаю следующую ошибку:
Код: Выделить всё
Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [C:\Users\kyle\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\work\Catalina\localhost\practicewellness\tmp\practicewellness\uploads] is not valid
Итак, я вижу, что он ищет местоположение этого файла глубоко внутри одного из моих плагинов Eclipse. Я не понимаю, почему оно туда смотрит. Когда я смотрю туда, каталога «tmp» там нет. Но в любом случае, могу ли я зайти в этот плагин и создать там каталог? Или есть лучший способ сгладить это?
Подробнее здесь:
https://stackoverflow.com/questions/282 ... spring-mvc