package com.ycl.controller; import com.ycl.api.CommonResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.io.IOUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.UUID; @RestController @RequestMapping("upload") @Api(tags = "图片上传") public class ImageUploadController { @ApiOperation(value="上传图片") @RequestMapping(value = "/image", method = RequestMethod.POST) public CommonResult uploadImage(HttpServletRequest request, MultipartFile image) throws IOException { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); String filePath = "/images/" + sdf.format(new Date()); String imageFolderPath = request.getServletContext().getRealPath(filePath); File imageFolder = new File(imageFolderPath); if (!imageFolder.exists()) { imageFolder.mkdirs(); } StringBuilder imageUrl= new StringBuilder(); imageUrl.append(request.getScheme()) .append("://") .append(request.getServerName()) .append(":") .append(request.getServerPort()) .append(request.getContextPath()) .append(filePath); String imageName = UUID.randomUUID() + "_" + image.getOriginalFilename().replaceAll(" ", ""); try { IOUtils.write(image.getBytes(), new FileOutputStream(new File(imageFolder, imageName))); imageUrl.append("/").append(imageName); return CommonResult.success(imageUrl.toString()); } catch (IOException e) { e.printStackTrace(); } return CommonResult.failed("上传失败!"); } }