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( "上传失败!");
|
}
|
}
|