南昌市物联网技防平台-后台
tangzy
2021-04-10 81acb24dd0d1b30bce2598defe49e8be4283d304
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/xlfeedback/controller/XlfeedbackController.java
@@ -18,6 +18,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.minio.MinioClient;
import io.minio.errors.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -30,6 +32,7 @@
import org.springblade.core.oss.model.BladeFile;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.jfpt.alarm.service.IAlarmService;
import org.springblade.jfpt.wj.entity.Wj;
import org.springblade.jfpt.wj.service.IWjService;
import org.springblade.jfpt.xlfeedback.entity.Xlfeedback;
@@ -38,11 +41,16 @@
import org.springblade.jfpt.xlfeedback.wrapper.XlfeedbackWrapper;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.xmlpull.v1.XmlPullParserException;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
@@ -64,6 +72,7 @@
   private final IXlfeedbackService xlfeedbackService;
   private IWjService iWjService;
   private MinioTemplate minioTemplate;
   private final IAlarmService alarmService;
   /**
    * 详情
@@ -232,4 +241,48 @@
      return  R.data(link);
   }
   /**
    *
    * @param file
    */
   @PostMapping("put-objects")
   public R put(@RequestParam MultipartFile file) throws InvalidPortException, InvalidEndpointException, IOException, XmlPullParserException, NoSuchAlgorithmException, InvalidKeyException, InvalidArgumentException, InternalException, NoResponseException, InvalidBucketNameException, InsufficientDataException, ErrorResponseException, RegionConflictException {
      MinioClient minioClient = new MinioClient("http://36.134.81.48:9000","adminminio","adminminio");
      if (!minioClient.bucketExists("jfpt")) {   //是否存在名为“test”的bucket
         minioClient.makeBucket("jfpt");
      }
      String fileName = file.getOriginalFilename();
      String newName ="upload/"+UUID.randomUUID().toString().replaceAll("-", "")
         + fileName.substring(fileName.lastIndexOf("."));
      InputStream inputStream = file.getInputStream();   //获取file的inputStream
      minioClient.putObject("jfpt", newName, inputStream, "application/octet-stream");//上传
      inputStream.close();
      String url = minioClient.getObjectUrl("jfpt", newName);   //文件访问路径
      return R.data(url);
   }
   /**
    * @param file
    */
   @PostMapping("put-objecty")
   public R puty(@RequestParam MultipartFile file,String jid) throws InvalidPortException, InvalidEndpointException, IOException, XmlPullParserException, NoSuchAlgorithmException, InvalidKeyException, InvalidArgumentException, InternalException, NoResponseException, InvalidBucketNameException, InsufficientDataException, ErrorResponseException, RegionConflictException {
      MinioClient minioClient = new MinioClient("http://web.byisf.com:9000","adminminio","adminminio");
      if (!minioClient.bucketExists("jfpt")) {
         minioClient.makeBucket("jfpt");
      }
      String fileName = file.getOriginalFilename();
      String newName ="upload/avoid/"+UUID.randomUUID().toString().replaceAll("-", "")
         + fileName.substring(fileName.lastIndexOf("."));
      InputStream inputStream = file.getInputStream();   //获取file的inputStream
      minioClient.putObject("jfpt", newName, inputStream, "application/octet-stream");//上传
      inputStream.close();
      String url = minioClient.getObjectUrl("jfpt", newName);   //文件访问路径
      String substring = url.substring(25, url.length());
      String urls="https://web.byisf.com/minio"+substring;
      alarmService.updateAaddress(url,jid);
      return R.data(url);
   }
}