Я использую Java в своем приложении. Я использую сервер minio в качестве файлового сервера. Когда я загружаю свой файл на сервер minio, я сохраняю URL-адрес того же файла в базе данных. Но через 7 дней тот же URL-адрес не работает. Я использую проект на локальном хосте и сервере minio бесплатно. Я не хочу, чтобы срок годности заканчивался как 7 дней. Я хочу показать всю жизнь.
public Boolean uploadFile(List multipartFiles,
Product product) {
LinkedList appFiles = new LinkedList();
multipartFiles.forEach(multipartFile -> {
String fileName = multipartFile.getOriginalFilename();
String ext = FileNameUtils.getExtension(fileName);
AppFile appFile = new AppFile();
appFile.setName(fileName);
appFile.setExt(ext);
appFile.setDateCreated(new Date());
appFile.setUserId(UUID.randomUUID().toString());
appFile.setUuid(UUID.randomUUID().toString());
try {
UUID uuid = UUID.randomUUID();
// save minio server
minioClient.putObject(PutObjectArgs.builder()
.bucket(bucketName)
.object(uuid + "-" + multipartFile.getOriginalFilename())
.stream(multipartFile.getInputStream(), multipartFile.getSize(), -1)
.contentType(multipartFile.getContentType())
.build());
// file url
String url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
.method(Method.GET)
.bucket(bucketName)
.object(uuid + "-" + multipartFile.getOriginalFilename())
.build());
appFile.setUrl(url);
appFile.setProductId(product);
appFiles.add(appFile);
} catch (Exception e) {
throw new FileException(EnumFile.FILE_CAN_NOT_ADDED.getName() + " " + e.getMessage());
}
appFileRepository.saveAll(appFiles);
});
return true;
}
Подробнее здесь: https://stackoverflow.com/questions/754 ... nio-server
Срок действия должен составлять минимум 1 секунду и максимум 7 дней на сервере minio. ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение