springboot上传文件

一、配置pom.xml

<!-- spring boot web支持 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

二、配置application.yml

spring:
  http:
    multipart:
      max-file-size: 500MB
      max-request-size: 500MB

三、使用方法

@Controller
public class FileUploadController {

    @RequestMapping(value = "/upload", method = RequestMethod.POST)
    @ResponseBody
    public String uploadFiles(@RequestParam("fileName") MultipartFile[] multipartFile,
            HttpServletRequest httpServletRequest) {
        try {
            // 创建文件在服务器端的存放路径
            String dir = httpServletRequest.getServletContext().getRealPath("/static");
            File fileDir = new File(dir);
            if (!fileDir.exists()) {
                fileDir.mkdirs();
            }
            // 生成文件在服务器端存放的名字
            for (int i = 0; i < multipartFile.length; i++) {
                String fileSuffix = multipartFile[i].getOriginalFilename()
                        .substring(multipartFile[i].getOriginalFilename().lastIndexOf("."));
                String fileName = UUID.randomUUID().toString() + fileSuffix;
                File file = new File(fileDir + "/" + fileName);
                // 上传
                multipartFile[i].transferTo(file);
            }
        } catch (Exception e) {
            e.printStackTrace();
            return "上传失败";
        }
        return "上传成功";
    }
}
<input type="file" onchange="upload(this)">

<script type="text/javascript">
    function upload(obj){
        var formData=new FormData();
        formData.append("fileName",obj.files[0]);
        $.ajax({
            type:"post",
            url:"http://localhost:8080/upload",
            data:formData,
            success:function(data){
                console.log(data);
            }
        });
    }
</script>

 

原文地址:https://www.cnblogs.com/linding/p/12601774.html