spring文件上传内部服务器错误


问题内容

我正在尝试使用Spring MVC上传文件。我的表格:

    <form enctype="multipart/form-data">
       Name: <input type="text" name=name><br> 
       Email ID: <input type="email" name=emailID><br> 
       Attachment: <input type="file" name=file id="file"><br> 
       Submit?: <input type="submit" name=submit value="Done"><br>
    </form>

我收到内部服务器错误。

错误是:

1)505错误

2)无堆栈跟踪

表单将自行重置,而不是转到下一个通知页面。


问题答案:

为了安全起见,上传时应始终使用POST或PUT,否则会丢失字符,因为此时仅支持ASCII。

<form enctype="multipart/form-data" method="POST">

确保为文件上传正确配置Spring,这意味着您已经设置了一个MultipartResolver,如果没有,Spring将不会支持文件上传。

您的控制器应使用数据绑定,而不要自己完成(使用框架)。

@RequestMapping(value = "/add", params = "submit", method = RequestMethod.POST)
public ModelAndView addForm(@ModelAttribute PostModel newPost){
    System.out.println("Added " + newPost.getQuestion() + " successfully");
    System.out.println("Added the file " + file.getName() + "successfully");
    return addController.showNotice(newPost.getQuestion());
}