获取元信息-增加批量接口

This commit is contained in:
xudawei 2024-05-20 18:27:56 +08:00
parent f3836bf9c0
commit c6c63be3dc
3 changed files with 8 additions and 40 deletions

View File

@ -58,10 +58,10 @@ public class UrlUtil {
public static void main(String[] args) {
String str = "https://axzo-public.oss-cn-chengdu.aliyuncs.com/cms/cms/ecefcd11d1744bd19770ccac2b7724e2.jpg";
System.out.println(fetchBucketName("", str));
System.out.println(fetchBucketKey("", str));
String str = "http://axzo-test.oss-cn-chengdu.aliyuncs.com/reportCenter/reportCenter_test";
String str1 = "https://baidu.com";
System.out.println(httpToHttps(str));
System.out.println(httpToHttps(str1));
}
}

View File

@ -14,7 +14,7 @@ public interface AliOssService extends BaseS3Service {
/**
* 授权给第三方下载
*/
String downloadSignUrl(String bucketName, String key, Long expireSecond, String fileName, boolean hasFileName);
String downloadSignUrl(String bucketName, String key, Long expireSecond, String fileName);
/**
* 授权给第三方-上传
@ -30,15 +30,9 @@ public interface AliOssService extends BaseS3Service {
* 获取url
*/
String getUrl(String bucketName, String tgtFileKey);
/**
* 通过url上传至OBS
*/
String uploadByUrl(String bucketName, String tgtFileKey, String fileName, String url);
/**
* 元数据
*/
SimplifiedObjectMeta getObjectMeta(String bucketName, String key);
}

View File

@ -289,7 +289,7 @@ public class AliOssServiceImpl implements AliOssService {
* 授权给第三方-下载
*/
@Override
public String downloadSignUrl(String bucketName, String key, Long expireSecond, String fileName, boolean hasFileName) {
public String downloadSignUrl(String bucketName, String key, Long expireSecond, String fileName) {
Date date = new Date();
date.setTime(date.getTime() + expireSecond * 1000);
try {
@ -297,9 +297,7 @@ public class AliOssServiceImpl implements AliOssService {
GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, key, HttpMethod.GET);
request.setExpiration(date);
ResponseHeaderOverrides responseHeaderOverrides = new ResponseHeaderOverrides();
if (hasFileName) {
responseHeaderOverrides.setContentDisposition("attachment;filename=\"" + URLEncoder.encode(fileName, "utf-8") + "\"");
}
responseHeaderOverrides.setContentDisposition("attachment;filename=\"" + URLEncoder.encode(fileName, "utf-8") + "\"");
request.setResponseHeaders(responseHeaderOverrides);
URL url = aliOssClient.getClient().generatePresignedUrl(request);
log.info("aliyun downloadSignUrl result, bucketName:{}, key:{}, url:{}", bucketName, key, JsonUtil.obj2Str(url));
@ -363,30 +361,6 @@ public class AliOssServiceImpl implements AliOssService {
}
}
/**
* 通过url上传至OSS
*/
@Override
public String uploadByUrl(String bucketName, String tgtFileKey, String fileName, String url) {
OSS client = aliOssClient.getClient();
try {
InputStream srcStream = new URL(url).openStream();
// 创建上传文件的元信息通过文件云信息设置HTTP Header
ObjectMetadata metadata = new ObjectMetadata();
// 设置内容被下载时的名称
metadata.setContentDisposition("attachment;filename=\"" + URLEncoder.encode(fileName, "utf-8") + "\"");
metadata.setContentEncoding("utf-8");
client.putObject(bucketName, tgtFileKey, srcStream, metadata);
} catch (OSSException e) {
LogUtil.error("uploadByStream OSSException", e);
return "";
} catch (Exception e) {
LogUtil.error("uploadByStream ClientException", e);
return "";
}
return getUrl(bucketName, tgtFileKey);
}
/**
* 元数据