diff --git a/casic-metering-common/src/main/java/com/casic/missiles/utils/MinioUtil.java b/casic-metering-common/src/main/java/com/casic/missiles/utils/MinioUtil.java index 40fea08..38abeae 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/utils/MinioUtil.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/utils/MinioUtil.java @@ -7,6 +7,7 @@ import io.minio.messages.DeleteObject; import io.minio.messages.Item; import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpHeaders; @@ -105,6 +106,46 @@ } return true; } + /** + * description: 自定义上传单个的文件名称 + * + * @param file + * @return: java.lang.String + */ + public String uploadCustomName(MultipartFile file, String customFileName) { + if (StringUtils.isEmpty(customFileName)) { + String fileName = file.getOriginalFilename(); + String[] split = fileName.split("\\."); + if (split.length > 1) { + fileName = split[0] + "_" + System.currentTimeMillis() + "." + split[1]; + } else { + fileName = fileName + System.currentTimeMillis(); + } + customFileName = fileName; + } + InputStream in = null; + try { + in = file.getInputStream(); + minioClient.putObject(PutObjectArgs.builder() + .bucket(bucketName) + .object(customFileName) + .stream(in, in.available(), -1) + .contentType(file.getContentType()) + .build() + ); + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return customFileName; + } /** * description: 上传文件