Example #1
0
  @Override
  public String insert() {

    info.setStatus(Info.STATUS_UNAUDIT);

    super.insert();

    // begin 处理图片
    if (upload != null && !upload.isEmpty()) {
      ScaleImage scaleImage = new ScaleImage();
      int size = upload.size();
      for (int i = 0; i < size; i++) {
        File upl = upload.get(i);
        String uplName = uploadFileName.get(i);

        IFileSystem fileSystem = new LocalFileSystem();
        String extension = FilenameUtils.getExtension(uplName);
        FileItemInfo fileItemInfo =
            fileSystem.saveFile(upl, extension, SystemConfig.UPLOAD_FILE_DIR);

        // 生产缩略图
        String uniqueFileName = FileNameUtil.getUniqueFileName(extension);
        String fullPath = SystemConfig.UPLOAD_FILE_DIR + "/" + uniqueFileName;
        File targetFile = new File(fullPath);
        try {
          scaleImage.saveImageAsJpg(
              upl,
              targetFile,
              SystemConfig.IMAGE_ABBREVIATIVE_WIDTH,
              SystemConfig.IMAGE_ABBREVIATIVE_HEIGHT);
        } catch (Exception e) {
          e.printStackTrace();
          log.error("生成缩略图失败:", e);
        }

        log.debug("原图:" + fileItemInfo.getFileId() + "\n缩略图:" + fullPath);

        InfoImg infoImg = new InfoImg();
        infoImg.setInfo(info);
        infoImg.setImgUrl(fileItemInfo.getFileId());
        infoImg.setSmallImgUrl(uniqueFileName);
        infoImg.setName(uplName);
        infoImg.setDescription(description.get(i));
        infoImg.setIsMainImg(i == 0);

        infoImgService.insert(infoImg);
      }
    }

    // end 处理图片

    return ResultConstants.LIST;
  }