update OSS临时URL过长,生成短链接

This commit is contained in:
AprilWind 2024-04-12 13:45:04 +08:00
parent a06570f39c
commit 1bc60fbc4b

View File

@ -22,6 +22,8 @@ import org.dromara.common.oss.core.OssClient;
import org.dromara.common.oss.entity.UploadResult; import org.dromara.common.oss.entity.UploadResult;
import org.dromara.common.oss.enumd.AccessPolicyType; import org.dromara.common.oss.enumd.AccessPolicyType;
import org.dromara.common.oss.factory.OssFactory; import org.dromara.common.oss.factory.OssFactory;
import org.dromara.common.shortlink.enums.ValidityType;
import org.dromara.common.shortlink.utils.ShortLinkUtils;
import org.dromara.system.domain.SysOss; import org.dromara.system.domain.SysOss;
import org.dromara.system.domain.bo.SysOssBo; import org.dromara.system.domain.bo.SysOssBo;
import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.domain.vo.SysOssVo;
@ -238,16 +240,17 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
} }
/** /**
* 桶类型为 private 的URL 修改为临时URL时长为120s * 桶类型为 private 的URL 修改为临时URL时长为180s
* *
* @param oss OSS对象 * @param oss OSS对象
* @return oss 匹配Url的OSS对象 * @return oss 匹配Url的OSS对象
*/ */
private SysOssVo matchingUrl(SysOssVo oss) { private SysOssVo matchingUrl(SysOssVo oss) {
OssClient storage = OssFactory.instance(oss.getService()); OssClient storage = OssFactory.instance(oss.getService());
// 仅修改桶类型为 private 的URL临时URL时长为120s // 仅修改桶类型为 private 的URL临时URL时长为180s
if (AccessPolicyType.PRIVATE == storage.getAccessPolicy()) { if (AccessPolicyType.PRIVATE == storage.getAccessPolicy()) {
oss.setUrl(storage.getPrivateUrl(oss.getFileName(), 120)); String privateUrl = storage.getPrivateUrl(oss.getFileName(), 180);
oss.setUrl(ShortLinkUtils.generateShortUrl(privateUrl, ValidityType.THREE_MINUTES));
} }
return oss; return oss;
} }