SpringMVC下的文件上传和下载

第一步 添加jar包




  4.0.0

  com.liang
  springMvc-day2
  1.0-SNAPSHOT
  war

  springMvc-day2 Maven Webapp
  
  http://www.example.com

  
    UTF-8
    1.7
    1.7
  

  
    
      junit
      junit
      4.11
      test
    
    
      org.springframework
      spring-webmvc
      4.3.10.RELEASE
    
    
      javax.servlet
      servlet-api
      2.5
    

    
      org.springframework
      spring-web
      4.3.10.RELEASE
    
    
      org.springframework
      spring-context
      4.3.10.RELEASE
    

    
      
      
      
    

    
      log4j
      log4j
      1.2.17
    

    
    
      com.alibaba
      fastjson
      1.2.58
    

    
    
      commons-io
      commons-io
      2.5
    

    
      commons-fileupload
      commons-fileupload
      1.3.1
    


  




简单的依赖

创建一个jsp文件


<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title

    

第三步 创建一个contrller类

需要注意的点是file1 的名字要和jsp中的name名字一致

    @RequestMapping("upload")
//    MultipartFile类型的新参名称要和文件输入框(type=file)的name保持一致
    public String upload(MultipartFile file1, HttpSession httpSession)throws Exception{
//        获取原文件的文件名
        String s1 = file1.getOriginalFilename();
//        保存文件的路径
        String path = httpSession.getServletContext().getRealPath("/upload");
//        我们用transferTo()将文件file1这个接受的上传文件进行保存
        file1.transferTo(new File(path,s1));
        return "forward:/index.jsp";
    }

其中要在webapp创建一个文件夹 (upload) 这个文件夹不要为空 不然会报错

SpringMVC下的文件上传和下载_第1张图片

第四步 mvc.xml 文件


        
        
    

然后运行即可

SpringMVC下的文件上传和下载_第2张图片
SpringMVC下的文件上传和下载_第3张图片

下载

SpringMVC下的文件上传和下载_第4张图片

需要再写一个jsp

SpringMVC下的文件上传和下载_第5张图片

为解决一些问题 比如在idea中使用clean 会将下载在项目中的文件删除 还会存在一定的数据不安全(用户可以通过浏览器读取文件)

SpringMVC下的文件上传和下载_第6张图片

解决办法

在电脑的一个盘中(E盘) 创建一个文件夹(fuwuqi) 不能写有中文 并在项目的tomcat中进行配置

SpringMVC下的文件上传和下载_第7张图片

在controller 进行更改

SpringMVC下的文件上传和下载_第8张图片

一般在公司里边会在创建一个类 Comments 将文件路径写在类中 相当于小配置文件 方便修改

第一步 创建一个类

SpringMVC下的文件上传和下载_第9张图片

第二步 修改contrller

SpringMVC下的文件上传和下载_第10张图片

你可能感兴趣的:(java,spring)