如何在Spring中使用表单值上传文件?

时间:2013-11-11 11:13:52

标签: spring file-upload

当我尝试使用Spring上传文件时,为什么会出现“错误请求”?

@RequestMapping(value = "/add", method = RequestMethod.POST)
public ModelAndView index(//final @ModelAttribute AddCommand addCommand,
                          @RequestParam("name") String name,
                          @RequestParam("desc") String desc,
                          //@ModelAttribute("uploadedFile") UploadedFile uploadedFile,
                          @RequestParam("file") UploadedFile uploadedFile,
                          BindingResult result,
                          HttpServletRequest request) {

我不确定如何实现我想要做的事情,因为文档完全不同如何使用名称和描述进行简单的文件上传:

<% /** http://localhost:8083/admin/add **/ %>

<%@ page import="web.command.AddCommand" %>
<%@ include file="/WEB-INF/views/taglibs.jsp" %>

<h3>Add New</h3>

<form:form commandName="<%=AddCommand.NAME%>" enctype="multipart/form-data"
            method="post"
           role="form">

    <table>
        <tr>
            <td><form:label path="name">Name</form:label></td>
            <td><form:input path="name" /></td>
        </tr>
        <tr>
            <td><form:label path="desc">Description</form:label></td>
            <td><form:input path="desc" /></td>
        </tr>

        <tr>
            <td>File: </td>
            <td><input type="file" name="file" />
            </td>
        </tr>

        <tr>
            <td colspan="2">
                <input type="submit" value="Add"/>
            </td>
        </tr>
    </table>

</form:form>

应该是什么样的方式?我可以在没有文件的情况下提交表单,但是当我尝试将文件上传添加到我的表单时,执行这个简单的操作是不可撤销的,因为Spring,XML和Java过于冗长并且有太多的设置和配置。应该有一个明显的方法来做到这一点并没有明显的明确方法。

1 个答案:

答案 0 :(得分:1)

你可以按照Spring教程中描述的方式进行文件上传的方式吗?

http://spring.io/guides/gs/uploading-files/