t;, ce.getMessage());
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
return flag;
}
/**
* 通过文件名下载文件
*
* @param ossFileName 要下载的文件名
* @param localFileName 本地要创建的文件名
*/
public static boolean downloadFile(String ossFileName, String localFileName) {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(aliYunOSSUtil.ossConfig.getEndpoint()
, aliYunOSSUtil.ossConfig.getAccessKeyId()
, aliYunOSSUtil.ossConfig.getAccessKeySecret());
boolean flag = false;
try {
// 下载Object到本地文件,并保存到指定的本地路径中。如果指定的本地文件存在会覆盖,不存在则新建。
// 如果未指定本地路径,则下载后的文件默认保存到示例程序所属项目对应本地路径中。
ossClient.getObject(new GetObjectRequest(aliYunOSSUtil.ossConfig.getBucket(), ossFileName), new File(localFileName));
flag = true;
} 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 flag;
}
/**
* 批量删除文件或目录
*
* @param keys
*/
public static void deleteFiles(List<String> keys) {
OSS ossClient = new OSSClientBuilder().build(aliYunOSSUtil.ossConfig.getEndpoint()
, aliYunOSSUtil.ossConfig.getAccessKeyId()
, aliYunOSSUtil.ossConfig.getAccessKeySecret());
try {
DeleteObjectsResult deleteObjectsResult =
ossClient.deleteObjects(new DeleteObjectsRequest(aliYunOSSUtil.ossConfig.getBucket()).withKeys(keys));
deleteObjectsResult.getDeletedObjects();
} 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();
}
}
ossClient.shutdown();
}
/**
* 删除文件或目录
*
* @param objectName 填写文件完整路径。文件完整路径中不能包含Bucket名称。
*/
public static Boolean deleteFile(String objectName) {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(aliYunOSSUtil.ossConfig.getEndpoint()
, aliYunOSSUtil.ossConfig.getAccessKeyId()
, aliYunOSSUtil.ossConfig.getAccessKeySecret());
ossClient.shutdown();
boolean flag = false;
try {
// 删除文件或目录。如果要删除目录,目录必须为空。
ossClient.deleteObject(aliYunOSSUtil.ossConfig.getBucket(), objectName);
flag = true;
} 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("客户端在尝试与OS |