package cn.iocoder.yudao.module.system.framework.storage.config;
|
|
import lombok.Data;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.stereotype.Component;
|
import org.springframework.util.unit.DataSize;
|
|
import java.math.BigDecimal;
|
|
/**
|
* 文件上传配置类
|
*
|
* 对应 application.yml 中的 yudao.storage 前缀配置
|
*/
|
@Component
|
@ConfigurationProperties(prefix = "yudao.storage", ignoreUnknownFields = true)
|
@Data
|
public class StorageProperties {
|
|
/** 文件存储根目录 */
|
private String path = "/data/uploads";
|
|
/** URL路径前缀(如 /admin-api/system/storage-file),用于拼接预览/下载地址 */
|
private String urlPrefix = "/admin-api/system/storage-file";
|
|
/** 域名前缀,用于拼接完整的预览/下载地址 */
|
private String domain = "http://localhost:48080";
|
|
/** token过期时间(分钟),默认120分钟 */
|
private BigDecimal expired = new BigDecimal("120");
|
|
/** token使用次数上限,默认10次 */
|
private Integer useLimit = 10;
|
|
/** JWT密钥 */
|
private String jwtSecret = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFG";
|
|
/** 是否启用图片压缩 */
|
private Boolean compress = true;
|
|
/** 触发压缩的文件大小阈值 */
|
private DataSize needCompressSize = DataSize.ofMegabytes(10);
|
|
/** 压缩质量(0.0~1.0) */
|
private float compressQuality = 0.5f;
|
|
}
|