关于文件上传,在spring cloud会再经过配置文件的处理,在spring boot则不需要,在这里写一个文件上传的接口。
单文件上传,如果以后写多文件上传再进行补充。
1.文件目录
2.控制器程序
package com.jun.file.controller; import com.jun.file.service.UpLoadFileService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; @RestController public class UpLoadFileController { @Autowired private UpLoadFileService upLoadFileService; @PostMapping("/upload/img") public String uploadImg(@RequestParam("file") MultipartFile file){ int count=upLoadFileService.upLoadImg(file); return "success"; } }
3.服务方法
package com.jun.file.service; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.util.UUID; /** * 这个类用于文件的上传 */ @Service public class UpLoadFileService { public int upLoadImg(MultipartFile file){ String fileName = file.getOriginalFilename(); String suffixName = fileName.substring(fileName.lastIndexOf(".")); String name = UUID.randomUUID().toString(); fileName = name+suffixName; String path = "E:/javaImg/test/"; String path_img = path+fileName; File dest = new File(path_img); if(!dest.getParentFile().exists()){ dest.getParentFile().mkdirs(); } try { file.transferTo(dest); } catch (IOException e) { e.printStackTrace(); } return 0; } }
4.测试