天翼云对象存储android实现,使用天翼云对象存储服务

使用天翼云对象存储服务

本文介绍如何使用天翼云对象存储服务

安全凭证

在注册天翼云账号之后,进入控制台,创建秘钥,拿到AccessKeyID和SecretAccessKey用于访问对象存储API

1460000039890242

下载SDK

在官网选择对于的jar包https://www.ctyun.cn/h5/help2/10000101/10001740

POM文件配置

在pom.xml中加入以下配置

cn.ctyun

oos-sdk

6.5.0

system

jar

${project.basedir}/src/main/resources/lib/oos-sdk-6.5.0.jar

commons-httpclient

commons-httpclient

3.1

org.apache.httpcomponents

httpclient

4.5.2

joda-time

joda-time

2.10.3

OSS配置import com.amazonaws.ClientConfiguration;

import com.amazonaws.Protocol;

import com.amazonaws.auth.PropertiesCredentials;

import com.amazonaws.services.s3.AmazonS3;

import com.amazonaws.services.s3.AmazonS3Client;

import com.amazonaws.services.s3.S3ClientOptions;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

@Configuration

public class OOSConfig {

@Value("${OOS_ACCESS_KEY}")

private String accessKey;

@Value("${OOS_SECRET_KEY}")

private String secretKey;

@Value("${OOS_ENDPOINT}")

private String endpoint;

@Bean

public AmazonS3 oosClient() {

ClientConfiguration clientConfig = new ClientConfiguration();

//设置连接的超时时间,单位毫秒

clientConfig.setConnectionTimeout(30 * 1000);

//设置 socket 超时时间,单位毫秒

clientConfig.setSocketTimeout(30 * 1000);

clientConfig.setProtocol(Protocol.HTTP); //设置 http

//设置 V4 签名算法中负载是否参与签名,关于签名部分请参看《OOS 开发者文档》

S3ClientOptions options = new S3ClientOptions();

options.setPayloadSigningEnabled(true);

// 创建 client

AmazonS3 oosClient = new AmazonS3Client(

new PropertiesCredentials(accessKey,

secretKey), clientConfig);

// 设置 endpoint

oosClient.setEndpoint(endpoint);

//设置选项

oosClient.setS3ClientOptions(options);

return oosClient;

}

}

创建Bucketpublic void createBucket(String bucketName) {

Bucket bucketInfo = ossClient.createBucket(bucketName,"ChengDu","ShenYang");

}

查询Bucketpublic void listBuckets() {

List listBuckets = ossClient.listBuckets();

for (Bucket bucketInfo : listBuckets) {

System.out.println("listBuckets:"

+ "\t Name:" + bucketInfo.getName()

+ "\t CreationDate:" + bucketInfo.getCreationDate());

}

}

删除Bucketpublic void deleteBucket(String bucketName) {

ossClient.deleteBucket(bucketName);

}

上传文件public String uploadFile(InputStream inputStream, String fileName) {

String key = generateKey(fileName);

PutObjectRequest request = new PutObjectRequest(bucketName, key, inputStream, null);

request.setStorageClass(StorageClass.ReducedRedundancy);

PutObjectResult result = ossClient.putObject(request);

URL url = ossClient.generatePresignedUrl(new GeneratePresignedUrlRequest(bucketName, key));

return String.valueOf(url);

}

删除文件public void deleteFile(String fileKey) {

ossClient.deleteObject(bucketName, fileKey);

}

获取文件下载地址public String getDownloadUrl(String fileKey) {

GeneratePresignedUrlRequest request = new

GeneratePresignedUrlRequest(bucketName, fileKey);

URL url = ossClient.generatePresignedUrl(request);

return url.toString();

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值