aries = objectListing.getObjectSummaries();
list = objectSummaries.stream().map(OSSObjectSummary::getKey).collect(Collectors.toList());
} catch (OSSException oe) {
logger.error("请求已发送到OSS,但由于某种原因被拒绝并出现错误响应");
logger.error("Error Message:[{}]", oe.getErrorMessage());
logger.error("Error Code:[{}]", oe.getErrorCode());
logger.error("Request ID:[{}]", oe.getRequestId());
logger.error("Host ID:[{}]", oe.getHostId());
} catch (ClientException ce) {
logger.error("客户端在尝试与OSS通信时遇到问题");
logger.error("Error Message:[{}]", ce.getMessage());
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
return list;
}
/**
* 列举文件下所有的文件url信息
*/
public static List<String> listFileUrl(String path) {
List<String> res = new ArrayList<>();
OSS ossClient = new OSSClientBuilder().build(aliYunOSSUtil.ossConfig.getEndpoint()
, aliYunOSSUtil.ossConfig.getAccessKeyId()
, aliYunOSSUtil.ossConfig.getAccessKeySecret());
try {
// 构造ListObjectsRequest请求
ListObjectsRequest listObjectsRequest = new ListObjectsRequest(aliYunOSSUtil.ossConfig.getBucket());
// 设置prefix参数来获取目录下的所有文件。
listObjectsRequest.setPrefix(path);
ObjectListing listing = ossClient.listObjects(listObjectsRequest);
res = listing.getObjectSummaries().stream().map(objectSummary -> "https://"
+ aliYunOSSUtil.ossConfig.getBucket()
+ "." + aliYunOSSUtil.ossConfig.getEndpoint()
+ "/"
+ objectSummary.getKey()).map(String::toString).collect(Collectors.toList());
} catch (OSSException oe) {
logger.error("请求已发送到OSS,但由于某种原因被拒绝并出现错误响应");
logger.error("Error Message:[{}]", oe.getErrorMessage());
logger.error("Error Code:[{}]", oe.getErrorCode());
logger.error("Request ID:[{}]", oe.getRequestId());
logger.error("Host ID:[{}]", oe.getHostId());
} catch (ClientException ce) {
logger.error("客户端在尝试与OSS通信时遇到问题");
logger.error("Error Message:[{}]", ce.getMessage());
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
return res;
}
/**
* 判断文件是否存在
*
* @param objectName 填写不包含Bucket名称在内的Object完整路径,例如exampleobject.txt。
* @return
*/
public static boolean isFileExist(String objectName) {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(aliYunOSSUtil.ossConfig.getEndpoint()
, aliYunOSSUtil.ossConfig.getAccessKeyId()
, aliYunOSSUtil.ossConfig.getAccessKeySecret());
boolean flag = false;
try {
// 判断文件是否存在。如果返回值为true,则文件存在,否则存储空间或者文件不存在。
// 设置是否进行重定向或者镜像回源。默认值为true,表示忽略302重定向和镜像回源;如果设置isINoss为false,则进行302重定向或者镜像回源。
//boolean isINoss = true;
flag = ossClient.doesObjectExist(aliYunOSSUtil.ossConfig.getBucket(), objectName);
} catch (OSSException oe) {
logger.error("请求已发送到OSS,但由于某种原因被拒绝并出现错误响应");
logger.error("Error Message:[{}]", oe.getErrorMessage());
logger.error("Error Code:[{}]", oe.getErrorCode());
logger.error("Request ID:[{}]", oe.getRequestId());
logger.error("Host ID:[{}]", oe.getHostId());
} catch (ClientException ce) {
logger.error("客户端在尝试与OSS通信时遇到问题");
logger.error("Error Message:[{}]&quo |