44 lines
1.4 KiB
Java
44 lines
1.4 KiB
Java
package vvpkassistant.file.service;
|
|
|
|
import cn.hutool.core.lang.UUID;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.dromara.x.file.storage.core.FileInfo;
|
|
import org.dromara.x.file.storage.core.FileStorageService;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
/*
|
|
* @author: ziin
|
|
* @date: 2025/8/7 13:58
|
|
*/
|
|
@Service
|
|
@Slf4j
|
|
public class FileServiceImpl implements FileService {
|
|
|
|
@Resource
|
|
private FileStorageService fileStorageService;//注入实列
|
|
|
|
@Override
|
|
public Object uploadHeadIcon(MultipartFile file) {
|
|
// 生成 UUID 文件名,保留原扩展名
|
|
String originalFilename = file.getOriginalFilename();
|
|
String extension = originalFilename != null && originalFilename.contains(".")
|
|
? originalFilename.substring(originalFilename.lastIndexOf("."))
|
|
: "";
|
|
String uuidFileName = UUID.randomUUID().toString().replace("-", "") + extension;
|
|
|
|
// 使用 fileStorageService 进行上传
|
|
// 设置保存的文件名为 UUID
|
|
|
|
// 返回文件信息或 URL
|
|
|
|
log.info("Uploading head icon to file: {}", uuidFileName);
|
|
return fileStorageService.of(file)
|
|
.setSaveFilename(uuidFileName) // 设置保存的文件名为 UUID
|
|
.upload();
|
|
}
|
|
}
|