简介
无需改动前端代码,只需加一个自定义域名即可。java端代码是为了解决数据库存得地址不一致问题
如下:

1.管理页面设置

2.nginx配置
location ^~ /golf-ai {
proxy_pass http://192.168.1.98:9000;
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Connection "";
proxy_buffering off;
proxy_request_buffering off;
client_max_body_size 0;
add_header X-Cache $upstream_cache_status;
add_header Cache-Control no-cache;
}
3. java后端改代码
// 提取上传结果中的 ETag,并构建一个自定义的 UploadResult 对象
return UploadResult.builder().url(getUrl() + StringUtils.SLASH + key).filename(key).eTag(eTag).build();
改为
// 提取上传结果中的 ETag,并构建一个自定义的 UploadResult 对象
return UploadResult.builder().url(getStorageUrl() + StringUtils.SLASH + key).filename(key).eTag(eTag).build();
-
SysOssServiceImpl.java文件,修改1
@Override public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { if (isValid) { // 做一些业务上的校验,判断是否需要校验 } List<SysOss> list = baseMapper.selectByIds(ids); for (SysOss sysOss : list) { OssClient storage = OssFactory.instance(sysOss.getService()); storage.delete(sysOss.getUrl()); } return baseMapper.deleteByIds(ids) > 0; }改为
@Override public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { if (isValid) { // 做一些业务上的校验,判断是否需要校验 } List<SysOss> list = baseMapper.selectByIds(ids); for (SysOss sysOss : list) { OssClient storage = OssFactory.instance(sysOss.getService()); storage.delete(sysOss.getFileName()); } return baseMapper.deleteByIds(ids) > 0; } -
SysOssServiceImpl.java文件,修改2
/** * 桶类型为 private 的URL 修改为临时URL时长为120s * * @param oss OSS对象 * @return oss 匹配Url的OSS对象 */ private SysOssVo matchingUrl(SysOssVo oss) { OssClient storage = OssFactory.instance(oss.getService()); // 仅修改桶类型为 private 的URL,临时URL时长为120s if (AccessPolicyType.PRIVATE == storage.getAccessPolicy()) { oss.setUrl(storage.createPresignedGetUrl(oss.getFileName(), Duration.ofSeconds(120))); } return oss; }改为
/** * 桶类型为 private 的URL 修改为临时URL时长为120s * * @param oss OSS对象 * @return oss 匹配Url的OSS对象 */ private SysOssVo matchingUrl(SysOssVo oss) { OssClient storage = OssFactory.instance(oss.getService()); // 仅修改桶类型为 private 的URL,临时URL时长为120s if (AccessPolicyType.PRIVATE == storage.getAccessPolicy()) { oss.setUrl(storage.createPresignedGetUrl(oss.getFileName(), Duration.ofSeconds(120))); } else { oss.setUrl(storage.getUrl() + StringUtils.SLASH + oss.getFileName()); } return oss; }