新视频推送接收(未测) app升级 告警 国际短信跟谷歌邮箱接入
This commit is contained in:
@@ -156,6 +156,30 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据 OSS 主键生成下载地址。
|
||||
* <p>
|
||||
* 私有桶必须在读取时重新签名;数据库中的原始 URL 没有访问权限,上传响应里的签名 URL
|
||||
* 又只有 120 秒有效期,都不能直接用于 APP 长期升级。
|
||||
*/
|
||||
@Override
|
||||
public String selectDownloadUrlById(Long ossId, Duration validTime) {
|
||||
if (ossId == null) {
|
||||
return null;
|
||||
}
|
||||
SysOssVo oss = SpringUtils.getAopProxy(this).getById(ossId);
|
||||
if (oss == null) {
|
||||
return null;
|
||||
}
|
||||
OssClient client = OssFactory.instance(oss.getService());
|
||||
if (client.verifyConfig(config -> AccessPolicy.PRIVATE.equals(config.accessControlPolicyConfig().accessPolicy()))) {
|
||||
Duration effective = validTime == null || validTime.isZero() || validTime.isNegative()
|
||||
? Duration.ofSeconds(120) : validTime;
|
||||
return client.presignGetUrl(oss.getFileName(), effective);
|
||||
}
|
||||
return oss.getUrl();
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造 OSS 文件列表查询条件。
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user