- 上传文件接口代码
@Value("${upload.path}") private String uploadPath;
@ApiOperation("上传用户头像") @PreAuthorize("@ss.hasPermi('platform:orderHandle:check')") @PostMapping("/uploadAvatar") public R uploadFile(@ApiParam(value = "上传的图片", required = true) @RequestParam("file") MultipartFile file, HttpServletResponse res) { Long merNo = SecurityUtils.getMerNo(); if (StringUtils.isNull(merNo)) { return R.error(HttpStatus.ERROR, "商户异常"); } //如果文件不是jpg或png格式 if(!(file.getOriginalFilename().contains(".png")||file.getOriginalFilename().contains(".jpg"))){ return R.error(); } if (StringUtils.isNotNull(file)) { res.setContentType("image"); String realPath = uploadPath+"avatar/"; File pathFile = new File(realPath.trim()); if (!pathFile.exists()) { //文件夹不存 创建文件 pathFile.mkdirs(); } //当前文件个数 int i = pathFile.list().length; //将文件copy上传到服务器 String pathTime =System.currentTimeMillis() + "_" + file.getOriginalFilename(); String filePath = realPath + pathTime; try { Files.copy(file.getInputStream(), Paths.get(filePath)); } catch (IOException e) { return R.error(); } int y = pathFile.list().length; if (y > i) { //更新上传后的修改状态 return R.success("上传成功", "avatar/"+pathTime); } } return R.error(); }
- yml 配置服务器上传路径
查看文件是否上传成功
- 配置图片访问路径服务器路径
package com.jeoho.common.utils; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class WebConfig implements WebMvcConfigurer { @Value("${upload.path}") private String uploadPath; @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { //uploadPath+"/**"上传路径, file:磁盘路径 registry.addResourceHandler(uploadPath+"/**").addResourceLocations("file:" +uploadPath); } }
- 启动服务并且访问