Java + Spring: Могу ли я загрузить файл, если у меня есть путь без HttpRequest? - PullRequest
0 голосов
/ 28 марта 2012

Я так делаю

protected ModelAndView onSubmit(HttpServletRequest request,
       HttpServletResponse response, Object command, BindException errors)
       throws Exception {
    MultipartFile multipartFile = null;
    File destFile = new File(
            "/home/stas/eclipse/" + request.getParameter("fileName"));
multipartFile.transferTo(destFile);

Но у меня есть исключение

27.03.2012 20:39:45 org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet [springapp] in context with 
    path [/springapp] threw exception [Request processing failed; 
    nested exception is java.lang.NullPointerException] with root cause
    java.lang.NullPointerException

1 Ответ

4 голосов
/ 28 марта 2012

NullPointerException совершенно очевидно: переменная

MultipartFile multipartFile = null;
File destFile = new File("/home/stas/eclipse/"+request.getParameter("fileName"));
multipartFile.transferTo(destFile);   <-----Exception

multipartFile никогда не инициализируется и выдает NPE при первом обращении.

Вы можете получить все загруженные файлы из запроса, используя:

public ModelAndView onSubmit(HttpServletRequest request, /*...*/) {
  MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)request;
  Map<String, MultipartFile> files = multipartRequest.getFileMap();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...