123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package com.caimei.controller.admin.auth;
- import com.caimei.service.auth.UploadService;
- import com.caimei.service.data.DatabaseService;
- import com.caimei.utils.OSSUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiOperation;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.io.IOUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.UUID;
- /**
- * @author Aslee
- * @date 2021/5/14
- */
- @Api(tags = "上传API")
- @Slf4j
- @RestController
- @RequiredArgsConstructor
- @RequestMapping("/upload")
- public class UploadApi {
- private static final Logger logger = LoggerFactory.getLogger(UploadApi.class);
- @Value("${caimei.imageDomain}")
- private String imageDomain;
- private final UploadService uploadService;
- /**
- * 上传图片
- */
- @ApiOperation("上传图片")
- @ApiImplicitParam(name = "file", value = "图片", required = true)
- @PostMapping("/image")
- public Map<String, Object> uploadImage(MultipartFile file) throws IOException {
- Map<String, Object> map = new HashMap<>(2);
- String saveFile;
- if (file != null) {
- // 保存文件
- saveFile = uploadService.saveFile(file);
- map.put("data", saveFile);
- map.put("msg", "上传成功");
- logger.info("【图片上传】>>>>>>>>>>>>>>>>图片上传成功:" + saveFile);
- } else {
- map.put("msg", "上传失败");
- logger.info("【图片上传】>>>>>>>>>>>>>>>>图片上传失败:");
- }
- return map;
- }
- @ApiOperation("上传文件")
- @ApiImplicitParam(name = "file", value = "文件", required = true)
- @PostMapping("/file")
- public Map<String, Object> uploadFile(MultipartFile file) throws IOException {
- Map<String, Object> map = new HashMap<>(2);
- String fileAllName = file.getOriginalFilename();
- String realName = fileAllName.substring(0, fileAllName.lastIndexOf("."));
- String fileType = fileAllName.substring(fileAllName.lastIndexOf(".") + 1);
- String fileName = file.getResource().getFilename();
- String uuid = UUID.randomUUID().toString().replaceAll("-", "");
- String filePath = uuid + "." + fileType;
- String contentType = OSSUtils.getContentType(fileAllName);
- log.info(">>>>>>>>>>>>>上传文件");
- //保存本地
- File uploadFile = OSSUtils.ossUpload(file);
- //将文件上传oss
- log.info("开始上传>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- log.info("开始时间" + format.format(new Date()));
- String previewUrl = OSSUtils.ossUpload(filePath, uploadFile, contentType, null);
- log.info("结束时间" + format.format(new Date()));
- if (StringUtils.isNotEmpty(previewUrl)) {
- map.put("previewUrl", previewUrl);
- map.put("downloadUrl", filePath);
- map.put("fileName", fileName);
- map.put("msg", "上传成功");
- logger.info(">>>>>>>>>>>>>>>>文件上传成功:" + previewUrl);
- } else {
- map.put("msg", "上传失败");
- logger.info(">>>>>>>>>>>>>>>>文件上传失败:");
- }
- return map;
- }
- }
|