添加是否保留上传文件原始名参数
This commit is contained in:
@@ -335,6 +335,35 @@ public class MinIoUtils {
|
|||||||
// 返回生成文件名、访问路径
|
// 返回生成文件名、访问路径
|
||||||
return new MinIoUploadResDTO(minFileName, getObjectUrl(bucketName, minFileName, DEFAULT_EXPIRY));
|
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) {
|
public boolean composeObjectAndRemoveChunk(String bucketName, List<String> chunkNames, String objectName) {
|
||||||
return composeObject(CHUNK_BUCKET, bucketName, chunkNames, objectName, DELETE_CHUNK_OBJECT);
|
return composeObject(CHUNK_BUCKET, bucketName, chunkNames, objectName, DELETE_CHUNK_OBJECT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param originalFileName 原始名称
|
* @param originalFileName 原始名称
|
||||||
* @return java.lang.String
|
* @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