028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

SpringMVC实现文件的上传和下载

SpringMVC 中,文件的上传,是通过 MultipartResolver 实现的。 所以,如果要实现文件的上传,只要在 spring-mvc.xml 中注册相应的 MultipartResolver 即可。

成都创新互联长期为超过千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为即墨企业提供专业的成都做网站、成都网站设计、成都外贸网站建设即墨网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

MultipartResolver 的实现类有两个:

CommonsMultipartResolver
StandardServletMultipartResolver
两个的区别:

第一个需要使用 Apache 的 commons-fileupload 等 jar 包支持,但它能在比较旧的 servlet 版本中使用。
第二个不需要第三方 jar 包支持,它使用 servlet 内置的上传功能,但是只能在 Servlet 3 以上的版本使用。
第一个使用步骤:

/CommonsMultipartResolver 上传用到的两个包/

"commons-fileupload:commons-fileupload:1.3.1",

"commons-io:commons-io:2.4"
如果是maven项目的话直接导入:


commons-fileupload
commons-fileupload
1.3.1

dispatcher-servlet.xml配置:


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">









    
    
    
    



    
    

web.xml:


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">



    dispatcher
    org.springframework.web.servlet.DispatcherServlet
    
        contextConfigLocation
        classpath:dispatcher-servlet.xml
    


    dispatcher
    /

后台java(上传、下载)处理代码:

package edu.nf.ch08.controller;

import org.apache.commons.io.FileUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

import java.io.File;
import java.io.IOException;

/**

上传文件的网页html:





Title


文件上传




File:




Spring MVC 实现文件的上传和下载

上传成功后转发的jsp(下载文件)页面:
<%--
Created by IntelliJ IDEA.
User: wangl
Date: 2018/11/2
Time: 09:56
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


Title


${fileName}

Spring MVC 实现文件的上传和下载

项目结构:

Spring MVC 实现文件的上传和下载


本文名称:SpringMVC实现文件的上传和下载
当前URL:http://www.tsicrk.com/article/gcgcci.html

其他资讯

让你的专属顾问为你服务

0.8420s