设为首页 加入收藏

TOP

springboot阿里云oss工具类(七)
2023-07-25 21:33:44 】 浏览:115
Tags:springboot oss
S通信时遇到问题"); logger.error("Error Message:[{}]", ce.getMessage()); } finally { if (ossClient != null) { ossClient.shutdown(); } } return flag; } /** * 删除目录 (不建议用) * 非常危险!!!! 如果以下示例代码中前缀prefix的值为空字符串或者NULL,将会删除整个Bucket内的所有文件,请谨慎使用。 * * @param prefix * @return */ public static boolean deleteFolder(String prefix) { // 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(aliYunOSSUtil.ossConfig.getEndpoint() , aliYunOSSUtil.ossConfig.getAccessKeyId() , aliYunOSSUtil.ossConfig.getAccessKeySecret()); boolean flag = false; if (prefix == null || prefix.equals("")) { //传"" 会删除这个bucket 下所有文件, 谨慎!! return false; } try { // 删除目录及目录下的所有文件。 String nextMarker = null; ObjectListing objectListing = null; do { ListObjectsRequest listObjectsRequest = new ListObjectsRequest(aliYunOSSUtil.ossConfig.getBucket()) .withPrefix(prefix) .withMarker(nextMarker); objectListing = ossClient.listObjects(listObjectsRequest); if (objectListing.getObjectSummaries().size() > 0) { List<String> keys = objectListing.getObjectSummaries().stream().map(OSSObjectSummary::getKey).collect(Collectors.toList()); DeleteObjectsRequest deleteObjectsRequest = new DeleteObjectsRequest(aliYunOSSUtil.ossConfig.getBucket()).withKeys(keys).withEncodingType("url"); DeleteObjectsResult deleteObjectsResult = ossClient.deleteObjects(deleteObjectsRequest); List<String> deletedObjects = deleteObjectsResult.getDeletedObjects(); try { for (String obj : deletedObjects) { String deleteObj = URLDecoder.decode(obj, "UTF-8"); System.out.println("删除了:" + deleteObj); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } nextMarker = objectListing.getNextMarker(); } while (objectListing.isTruncated()); 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 folder 填写目录名称,目录需以正斜线结尾 如:"exampledir/"。 * @return */ public static boolean createFolder(String folder) { OSS ossClient = new OSSClientBuilder().build(aliYunOSSUtil.ossConfig.getEndpoint() , aliYunOSSUtil.ossConfig.getAccessKeyId() , aliYunOSSUtil.ossConfig.getAccessKeySecret()); // 判断文件夹是否存在,不存在则创建 boolean flag = false; if (!ossClient.doesObjectExist(aliYunOSSUtil.ossConfig.getBucket(), folder)) { try { String content = ""; // 创建PutObjectRequest对象。 PutObjectRequest putObjectRequest = new PutObjectRequest(aliYunOSSUtil.ossConfig.getBucket() , folder, new ByteArrayInputStream(content.getBytes())); // 如果需要上传时设置存储类型和访问权限,请参考以下示例代码。 // ObjectMetadata metadata = new ObjectMetadata(); // metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString()); // metadata.setObjectA
首页 上一页 4 5 6 7 下一页 尾页 7/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇java基础篇——流程控制 下一篇JSP利用AJAX实现页面即时校验验证..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目