开发者社区> 问答> 正文

如何在春Spring MVC 应用程序中上传文件?

可以使用什么方式上传呢?

展开
收起
YDYK 2020-04-25 21:34:20 451 0
1 条回答
写回答
取消 提交回答
  • 假设我们将使用公共资源多部分解析器,它使用 Apache 公共资源上载库以窗体处理文件上载。因此,您需要添加公域文件上载.jar和commons-io.jar依赖项。

    commons-fileupload commons-fileupload 1.2.2 commons-io commons-io 1.3.2 需要在应用程序上下文文件中进行以下声明,以启用多部分解析器(以及在应用程序中包括必要的 jar 文件):

    现在创建模型类FileUploadForm,该模型将保存从 HTML 表单提交的多部分数据。

    import org.springframework.web.multipart.MultipartFile;

    public class FileUploadForm { private MultipartFile file;

    public MultipartFile getFile() {
        return file;
    }
    
    public void setFile(MultipartFile file) {
        this.file = file;
    }
    

    } 现在创建实际处理上载逻辑的类。FileUploadController

    import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.multipart.MultipartFile; import com.howtodoinjava.form.FileUploadForm;

    @Controller public class FileUploadController { @RequestMapping(value = "/upload", method = RequestMethod.POST) public String save(@ModelAttribute("uploadForm") FileUploadForm uploadForm, Model map) {

        MultipartFile multipartFile = uploadForm.getFile();
    
        String fileName = "default.txt";
    
        if (multipartFile != null) {
            fileName = multipartFile.getOriginalFilename();
        }
         
        //read and store the file as you like
    
        map.addAttribute("files", fileName);
        return "file_upload_success";
    }
    

    } 上传的 JSP 文件如下所示:

    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>

    Spring MVC file upload example

    <form:form method="post" action="save.html" modelAttribute="uploadForm" enctype="multipart/form-data"> Please select a file to upload : <form:errors path="file" cssClass="error" /> </form:form>

    2020-04-25 21:34:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载