Проблема с FileUpload - нулевое значение для файла из нескольких частей - PullRequest
1 голос
/ 15 сентября 2010

Я работаю над веб-приложением Spring, и мне нужно реализовать простой FileUpload для одной из моих страниц.

Страница для JSP содержит следующий фрагмент кода, который включает поле загрузки для загрузки файла.

<form:form commandName="editMemberInfoModelObj" method="post" enctype="multipart/form-data">
        <h1>Edit Member Information</h1>
        <table>
            //Other Form Input Fields ...
            <tr>
                <td>File</td>
                <td><input type="file" name="file"/></td>
            </tr>
            <tr>
                <td><input type="submit" value="Update Info"/></td>
            </tr>
        </table>
    </form:form>

Модель для этого JSP выглядит следующим образом

public class EditMerchandiserModel(){
        private MultipartFile file;

        //getters and setters for all the properties
}

Код в контроллере, который обрабатывает загрузку файлов, выглядит следующим образом

    if(model.getFile().isEmpty())  -->THROWING NULLPOINTER EXCEPTION HERE
    {
        MultipartFile file = model.getFile();
        String fileName = file.getOriginalFilename();
        String filePath = "/usr/local/" + fileName;
        FileOutputStream fos = new FileOutputStream(filePath);
         try 
             {

            fos.write(file.getBytes());
         } catch (IllegalStateException e) {
            System.out.println(e);

         }
         finally{
             fos.close();
         }
    }

Я не могу поразить внутренний код, потому что он читает в файле как нулевое значение.Почему оно не привязывает значение к полю?

1 Ответ

4 голосов
/ 15 сентября 2010

Похоже, что поле ввода вашего файла имеет имя «файл», а свойство, к которому он должен быть привязан, имеет имя «фотография» (по крайней мере, вы пытаетесь получить его с помощью «getPhoto ()». Spring умный, но это не так умно.:)

...