springboot整合springmvc上傳文件

1.pom.xmlhtml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.10.RELEASE</version>
  </parent>
  <groupId>com.mr.li</groupId>
  <artifactId>springboot_002</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <!-- 修改jdk版本 -->
  <properties>
      <java.version>1.7</java.version>
  </properties>
  
  <dependencies>
      <!-- 添加web啓動器 -->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
  </dependencies>
  
</project>

 

2.controllerjava

package com.mr.li.controller;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

@RestController //此註解的意思是:將全部方法的返回值轉爲json串,至關於@Controller + 方法上的@ResponseBody
public class FileUploadController {

    /**
     * 若是上傳的地方upload.html中的名稱若是和這裏的參數MultipartFile名稱一致的話就不用加@RequestParm註解,
     * 上傳的名稱爲:filename,而這裏接受的卻爲multipartFile,因此爲了能夠接受到就將名字註解一下,或者改成一致也行。
     * 至於RequestMapping中的參數要和上傳時的action參數一致,這樣上傳的時候才能訪問到本方法。
     * @param multipartFile springMvc封裝好的一個文件對象,其中能夠包括:圖片,音頻,視頻,文本....
     * @return
     * @throws Exception
     */
    @RequestMapping("/fileUpload")
    public Map<String, Object> upload(@RequestParam("filename") MultipartFile multipartFile) throws Exception{
        System.out.println("文件名:"+multipartFile.getOriginalFilename());
        //保存文件
        multipartFile.transferTo(new File("e:/"+multipartFile.getOriginalFilename()));
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("msg", "ok");
        return map;
    }
}

3.application.propertiesweb

#配置單次上傳文件的大小
spring.http.multipart.maxFileSize=100MB
#配置這次上傳文件的總大小
spring.http.multipart.maxRequestSize=200MBspring

4.輔助上傳:upload.htmlapache

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上傳</title>
</head>
<body>

    <form action="fileUpload" method="post" enctype="multipart/form-data">
        上傳:<input type="file" name="filename"/>
        <input type="submit"/>
    </form>
</body>
</html>

訪問路徑:http://localhost:8080/fileUploadjson

項目結構;springboot

相關文章
相關標籤/搜索