lidongdong
2022-09-23 ba6c8aa9235a0bae2d17e2194bd9803bedfc9675
flower_city/src/main/java/com/dg/core/controller/CommonController.java
@@ -3,28 +3,25 @@
import com.dg.core.CorsConfig;
import com.dg.core.ResultData;
import com.dg.core.db.gen.AjaxResult;
import com.dg.core.file.FileUploadUtils;
import com.dg.core.file.FileUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@Api(tags = {"通用接口"})
@RestController
@RequestMapping("/common")
public class CommonController extends BaseController
{
public class CommonController extends BaseController {
  private static final String FILE_DELIMETER = ",";
@@ -39,42 +36,44 @@
  }
  /**
   * 通用上传请求(多个)
   */
  @ApiOperation("文件上传接口(通用)")
  @PostMapping("/uploads")
  public ResultData uploadFiles(List<MultipartFile> files) throws Exception {
    try {
      // 上传文件路径
      String filePath = FileUploadUtils.defaultBaseDir;
//      String filePath = "D:/tupianshuju";
  public ResultData uploadFiles(List<MultipartFile> files) throws Exception
  {
    List<String> urls = new ArrayList<String>();
    List<String> fileNames = new ArrayList<String>();
    List<String> newFileNames = new ArrayList<String>();
    List<String> originalFilenames = new ArrayList<String>();
    for (MultipartFile file : files) {
      String extension = FilenameUtils.getExtension(file.getOriginalFilename());
      String name = UUID.randomUUID().toString().replaceAll("-", "") + "." + extension;
      try {
//        assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
//        SFTPUtil sftp = new SFTPUtil();
//        sftp.login();
//        InputStream is = file.getInputStream();
//        sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is);
//        sftp.logout();
//
//        urls.add(url + "/idcard/" + name);
//        fileNames.add(name);
//        newFileNames.add(FileUtils.getName(name));
//        originalFilenames.add(file.getOriginalFilename());
      System.out.println("上传文件路径"+filePath);
      List<String> urls = new ArrayList<String>();
      List<String> fileNames = new ArrayList<String>();
      List<String> newFileNames = new ArrayList<String>();
      List<String> originalFilenames = new ArrayList<String>();
      for (MultipartFile file : files) {
        // 上传并返回新文件名称
        String fileName = FileUploadUtils.upload(filePath, file);
        String url = corsConfig.getUrl() + fileName;
        urls.add(url);
        fileNames.add(fileName);
        newFileNames.add(FileUtils.getName(fileName));
        originalFilenames.add(file.getOriginalFilename());
      } catch (Exception e) {
//      log.error("上传照片失败【{}】", e.getMessage());
        return ResultData.error("上传文件失败");
      }
      AjaxResult ajax = new AjaxResult();
      ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER));
      ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER));
      ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER));
      ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER));
      return ResultData.success(ajax);
    } catch (Exception e) {
      return ResultData.error(e.getMessage());
    }
  }
    AjaxResult ajax = new AjaxResult();
    ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER));
    ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER));
    ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER));
    ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER));
    return ResultData.success(ajax);
  }
}