Spring CommonsMultipartResolver 上传文件

...Controller...{

    // 创建一个通用的多部分解析器
    CommonsMultipartResolver commonsMultipartResolver =
new CommonsMultipartResolver(request.getSession().getServletContext());
    // 设置编码
    commonsMultipartResolver.setDefaultEncoding("utf-8");
    // 判断 request 是否有文件上传,即多部分请求...
    if (commonsMultipartResolver.isMultipart(request))
    {
        // 转换成多部分request
        MultipartHttpServletRequest multipartRequest = commonsMultipartResolver.resolveMultipart(request);

        // file 是指 文件上传标签的 name=值
        // 根据 name 获取上传的文件...
        MultipartFile file = multipartRequest.getFile("file");

        // 上传后记录的文件...
        File imageFile = new File("fileName");
        // 上传...
        file.transferTo(imageFile);

        // to do
    }
}

也可以在Spring配置文件中配置

Xml代码
Controller

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="defaultEncoding" value="UTF-8" />
</bean>

JSP Code

<form id="fileUploadForm" method="post" action="XXX.do?method=fileUpload" enctype="multipart/form-data">
    <tr>
        <td>File:</td>
        <td><input type="file" name="file"></td>
    </tr>
    <tr>
        <td><input type="hidden" name="fileOwner" value="1002"/></td>
        <td><input type="submit" value="submit"></td>
    </tr>
</form>
posted @ 2015-07-14 17:14  风真天  阅读(6169)  评论(0编辑  收藏  举报