简介
本文介绍对象存储 COS 通过 Java SDK 实现生成对象访问 URL 的示例代码和描述。
注意事项
如果您的文件是私有读权限,那么本接口生成的 URL 不能直接用于访问资源。
此接口是单纯的客户端逻辑,因此不需要特殊授权。
2024年1月1日后创建的桶 不支持使用默认域名在浏览器预览文件,建议您配置自定义域名,详情请参见 存储桶切换自定义域名。
相关示例
功能名称 | 描述 | 示例代码 |
对象访问 URL | 实现生成对象访问 URL 的功能 |
前期准备
创建 COSClient
调用 COS 的接口之前,必须先创建一个 COSClient 的实例。
说明:
由于生成对象访问 URL不需要与COS服务端交互,因此生成 COSClient 实例时,不需要传入密钥信息。
// 创建 COSClient 实例,这个实例用来后续调用请求COSClient createCOSClient() {// 不需要验证身份信息COSCredentials cred = new AnonymousCOSCredentials();// ClientConfig 中包含了后续请求 COS 的客户端设置:ClientConfig clientConfig = new ClientConfig();// 设置 bucket 的地域// COS_REGION 请参照 https://cloud.tencent.com/document/product/436/6224clientConfig.setRegion(new Region("COS_REGION"));// 设置生成的 url 的请求协议, http 或者 https// 5.6.53 及更低的版本,建议设置使用 https 协议// 5.6.54 及更高版本,默认使用了 httpsclientConfig.setHttpProtocol(HttpProtocol.https);// 生成 cos 客户端。return new COSClient(cred, clientConfig);}
关闭 COSClient
当不会再通过一个COSClient实例发起请求的时候,请及时将其关闭,防止资源泄露。
cosclient.shutdown();
使用案例
获取对象访问 URL
方法原型
public URL getObjectUrl(String bucketName, String key);
请求示例
// 调用 COS 接口之前必须保证本进程存在一个 COSClient 实例,如果没有则创建// 详细代码参见本页:创建 COSClientCOSClient cosClient = createCOSClient();// 存储桶的命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式String bucketName = "examplebucket-1250000000";// 对象键(Key)是对象在存储桶中的唯一标识。详情请参见 [对象键](https://cloud.tencent.com/document/product/436/13324)String key = "exampleobject";System.out.println(cosClient.getObjectUrl(bucketName, key));
参数说明
参数名称 | 参数描述 | 类型 | 是否必填 |
Bucket | 存储桶名称,由 BucketName-APPID 构成 | String | 是 |
Key | String | 是 |