一尘不染

FileUpload问题-多部分文件为空值

jsp

我正在使用Spring Web应用程序,需要为我的其中一个页面实现一个简单的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();
         }
    }

我无法访问内部代码,因为它正在读取文件中的空值。为什么不将值绑定到字段?


阅读 348

收藏
2020-06-10

共1个答案

一尘不染

看起来您的文件输入框的名称为“ file”,而应该绑定的属性的名称为“ photo”(至少您尝试使用“
getPhoto()”来检索它。Spring很聪明,但是它不是那么聪明。

2020-06-10