全部产品
阿里云办公

简单上传

更新时间:2018-07-17 18:42:11

流式上传和文件上传通称为简单上传。流式上传使用InputStream作为文件的数据源。文件上传使用本地文件作为OSS文件的数据源。简单上传的完整代码请参见GitHub

流式上传

使用ossClient.putObject上传数据流到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. // 创建OSSClient实例。
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  8. // 上传字符串。
  9. String content = "Hello OSS";
  10. ossClient.putObject("<yourBucketName>", "<yourObjectName>", new ByteArrayInputStream(content.getBytes()));
  11. // 关闭OSSClient。
  12. ossClient.shutdown();

上传Byte数组

以下代码用于上传Byte数组:

  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. // 创建OSSClient实例。
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId,accessKeySecret);
  8. // 上传Byte数组。
  9. byte[] content = "Hello OSS".getBytes();
  10. ossClient.putObject("<yourBucketName>", "<yourObjectName>", new ByteArrayInputStream(content));
  11. // 关闭OSSClient。
  12. 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. // 创建OSSClient实例。
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  8. // 上传网络流。
  9. InputStream inputStream = new URL("https://www.aliyun.com/").openStream();
  10. ossClient.putObject("<yourBucketName>", "<yourObjectName>", inputStream);
  11. // 关闭OSSClient。
  12. ossClient.shutdown();

上传文件流

以下代码用于上传文件流:

  1. // Endpoint以杭州为例,其它Region请按实际情况填写。
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建。
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. // 创建OSSClient实例。
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  8. // 上传文件流。
  9. InputStream inputStream = new FileInputStream("<yourlocalFile>");
  10. ossClient.putObject("<yourBucketName>", "<yourObjectName>", inputStream);
  11. // 关闭OSSClient。
  12. 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. // 创建OSSClient实例。
  7. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  8. // 上传文件。<yourLocalFile>由本地文件路径加文件名包括后缀组成,例如/users/local/myfile.txt。
  9. ossClient.putObject("<yourBucketName>", "<yourObjectName>", new File("<yourLocalFile>"));
  10. // 关闭OSSClient。
  11. ossClient.shutdown();