添加是否保留上传文件原始名参数
This commit is contained in:
@@ -335,6 +335,35 @@ public class MinIoUtils {
|
||||
// 返回生成文件名、访问路径
|
||||
return new MinIoUploadResDTO(minFileName, getObjectUrl(bucketName, minFileName, DEFAULT_EXPIRY));
|
||||
}
|
||||
/**
|
||||
* @Description: 复写方法 上传方法
|
||||
* param multipartFile 文件
|
||||
* * @param bucketName 桶名
|
||||
* * @param directory image/
|
||||
* * @param flag 是否随机生成文件名
|
||||
* * @return java.lang.String
|
||||
* @return: com.njcn.minioss.bo.MinIoUploadResDTO
|
||||
* @Author: clam
|
||||
* @Date: 2024/5/13
|
||||
*/
|
||||
public MinIoUploadResDTO upload(MultipartFile multipartFile, String bucketName, String directory,Boolean flag) throws Exception {
|
||||
if (!this.bucketExists(bucketName)) {
|
||||
this.makeBucket(bucketName);
|
||||
}
|
||||
InputStream inputStream = multipartFile.getInputStream();
|
||||
directory = Optional.ofNullable(directory).orElse("");
|
||||
String minFileName = directory + minFileName(multipartFile.getOriginalFilename(),flag);
|
||||
//上传文件到指定目录
|
||||
instance.putObject(PutObjectArgs.builder()
|
||||
.bucket(bucketName)
|
||||
.object(minFileName)
|
||||
.contentType(multipartFile.getContentType())
|
||||
.stream(inputStream, inputStream.available(), -1)
|
||||
.build());
|
||||
inputStream.close();
|
||||
// 返回生成文件名、访问路径
|
||||
return new MinIoUploadResDTO(minFileName, getObjectUrl(bucketName, minFileName, DEFAULT_EXPIRY));
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件流上传
|
||||
@@ -536,8 +565,6 @@ public class MinIoUtils {
|
||||
public boolean composeObjectAndRemoveChunk(String bucketName, List<String> chunkNames, String objectName) {
|
||||
return composeObject(CHUNK_BUCKET, bucketName, chunkNames, objectName, DELETE_CHUNK_OBJECT);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param originalFileName 原始名称
|
||||
* @return java.lang.String
|
||||
@@ -552,6 +579,28 @@ public class MinIoUtils {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param originalFileName 原始名称
|
||||
* @param flag 是否使用文件原始名
|
||||
* @return java.lang.String
|
||||
* @Description 生成上传文件名
|
||||
*/
|
||||
public String minFileName(String originalFileName,Boolean flag) {
|
||||
String suffix = originalFileName;
|
||||
String fileName ="";
|
||||
if (originalFileName.contains(StrUtil.DOT)) {
|
||||
fileName = originalFileName.substring(0,originalFileName.lastIndexOf(StrUtil.DOT));
|
||||
suffix = originalFileName.substring(originalFileName.lastIndexOf(StrUtil.DOT));
|
||||
}
|
||||
if(flag){
|
||||
return originalFileName;
|
||||
}else{
|
||||
return UUID.randomUUID().toString().replace(StrUtil.DASHED, SEPARATOR_STR).toUpperCase() + suffix;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 将分钟数转换为秒数
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user