开发者社区> 问答> 正文

java sdk是否有上传Object demo

已解决

展开
收起
2018-05-21 10:09:08 819 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    本节介绍如何快速使用OSS Java SDK完成常见操作,如创建存储空间、上传文件、下载文件等。

    创建存储空间

    存储空间是OSS全局命名空间,相当于数据的容器,可以存储若干文件。以下代码用于新建一个存储空间:

    1. // Endpoint以杭州为例,其它Region请按实际情况填写。
    2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
    3. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    4. String accessKeyId = "<yourAccessKeyId>";
    5. String accessKeySecret = "<yourAccessKeySecret>";
    6. String bucketName = "<yourBucketName>";
    7. // 创建OSSClient实例。
    8. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
    9. // 创建存储空间。
    10. ossClient.createBucket(bucketName);
    11. // 关闭OSSClient。
    12. ossClient.shutdown();

    存储空间的命名规范,请参见基本概念中的命名规范。创建存储空间详情,请参见管理存储空间

    上传文件

    以下代码用于上传文件至OSS:

    1. // Endpoint以杭州为例,其它Region请按实际情况填写。
    2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
    3. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    4. String accessKeyId = "<yourAccessKeyId>";
    5. String accessKeySecret = "<yourAccessKeySecret>";
    6. String bucketName = "<yourBucketName>";
    7. String objectName = "<yourObjectName>";
    8. // 创建OSSClient实例。
    9. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
    10. // 上传文件。
    11. String content = "Hello OSS";
    12. ossClient.putObject(bucketName, objectName, new ByteArrayInputStream(content.getBytes()));
    13. // 关闭OSSClient。
    14. ossClient.shutdown();

    上传文件详情请参见上传文件

    下载文件

    以下代码用于获取文件的文本内容:

    1. // Endpoint以杭州为例,其它Region请按实际情况填写。
    2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
    3. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    4. String accessKeyId = "<yourAccessKeyId>";
    5. String accessKeySecret = "<yourAccessKeySecret>";
    6. String bucketName = "<yourBucketName>";
    7. String objectName = "<yourObjectName>";
    8. // 创建OSSClient实例。
    9. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
    10. // 调用ossClient.getObject返回一个OSSObject实例,该实例包含文件内容及文件元信息。
    11. OSSObject ossObject = ossClient.getObject(bucketName, objectName);
    12. // 调用ossObject.getObjectContent获取文件输入流,可读取此输入流获取其内容。
    13. InputStream content = ossObject.getObjectContent();
    14. if (content != null) {
    15. BufferedReader reader = new BufferedReader(new InputStreamReader(content));
    16. while (true) {
    17. String line = reader.readLine();
    18. if (line == null) break;
    19. System.out.println("\n" + line);
    20. }
    21. // 数据读取完成后,获取的流必须关闭,否则会造成连接泄漏,导致请求无连接可用,程序无法正常工作。
    22. content.close();
    23. }
    24. // 关闭OSSClient。
    25. ossClient.shutdown();

    下载文件详情请参见下载文件

    列举文件

    以下代码用于列举指定存储空间下的文件。默认列举100个文件。

    1. // Endpoint以杭州为例,其它Region请按实际情况填写。
    2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
    3. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    4. String accessKeyId = "<yourAccessKeyId>";
    5. String accessKeySecret = "<yourAccessKeySecret>";
    6. String bucketName = "<yourBucketName>";
    7. // 创建OSSClient实例。
    8. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
    9. // ossClient.listObjects返回ObjectListing实例,包含此次listObject请求的返回结果。
    10. ObjectListing objectListing = ossClient.listObjects(bucketName);
    11. // objectListing.getObjectSummaries获取所有文件的描述信息。
    12. for (OSSObjectSummary objectSummary : objectListing.getObjectSummaries()) {
    13. System.out.println(" - " + objectSummary.getKey() + " " +
    14. "(size = " + objectSummary.getSize() + ")");
    15. }
    16. // 关闭OSSClient。
    17. ossClient.shutdown();

    列举功能详情请参见管理文件中的列出存储空间中的文件。

    删除文件

    以下代码用于删除指定文件:

    1. // Endpoint以杭州为例,其它Region请按实际情况填写。
    2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
    3. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
    4. String accessKeyId = "<yourAccessKeyId>";
    5. String accessKeySecret = "<yourAccessKeySecret>";
    6. String bucketName = "<yourBucketName>";
    7. String objectName = "<yourObjectName>";
    8. // 创建OSSClient实例。
    9. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
    10. // 删除文件。
    11. ossClient.deleteObject(bucketName, objectName);
    12. // 关闭OSSClient。
    13. ossClient.shutdown();

    删除文件详情请参见管理文件中的删除文件。删除文件完整代码请参见GitHub

    2018-05-24 18:04:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载