文件上传的控制器类

FileUploadController.java

package com.dennis.controller;
import java.io.File;
import java.io.IOException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
@Controller
@RequestMapping(value = "/file")

public class FileUploadController {
    private static final Logger logger = LoggerFactory.getLogger(FileUploadController.class);
    @RequestMapping(value = "/upload")
    @ResponseBody
    public String upload(@RequestParam("myFile") MultipartFile file) {
         if (file.isEmpty()) {
             return "文件为空";
         }
         // 获取文件名
         String fileName = file.getOriginalFilename();
         logger.info("上传的文件名为:" + fileName);
         // 获取文件的后缀名
         String suffixName = fileName.substring(fileName.lastIndexOf("."));
         logger.info("上传的后缀名为:" + suffixName);
         // 文件上传路径
         String filePath = "d:/mydir/";
         // 解决中文问题,liunx下中文路径,图片显示问题
         // fileName = UUID.randomUUID() + suffixName;
         File dest = new File(filePath + fileName);
         // 检测是否存在目录
         if (!dest.getParentFile().exists()) {
             dest.getParentFile().mkdirs();
         }
         try {
             file.transferTo(dest);
             return "上传成功";
         } catch (IllegalStateException e) {
             e.printStackTrace();
         } catch (IOException e) {
             e.printStackTrace();
         }
         return "上传失败";
    }
}

添加对文件上传的支持

application.yaml

spring: 
  http:
    multipart:
      enabled: true #默认支持文件上传.
      file-size-threshold: 0 #支持文件写入磁盘.
      location: / # 上传文件的临时目录
      max-file-size: 1Mb # 最大支持文件大小
      max-request-size: 10Mb # 最大支持请求大小

客户端测试

image
image

日志打印

2017-08-15 22:26:40.037  INFO 8044 --- [nio-8080-exec-1] c.d.controller.FileUploadController      : 上传的文件名为:exception-dir-struct.jpg
2017-08-15 22:26:40.037  INFO 8044 --- [nio-8080-exec-1] c.d.controller.FileUploadController      : 上传的后缀名为:.jpg

文件上传成功