全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

获取文件访问地址(Java)

最近更新时间:2023-05-12 15:58:34

获取文件访问地址

1. 如果是公开文件

通过:http://{bucket}.{endpoint}/{key}的方式拼接一个URL即可。比如:http://test-bucket.ks3-cn-beijing.ksyuncs.com/2015/10/19/image.jpg,该URL中的{bucket}是test-bucket,{endpoint}是kssws.ks-cdn.com,{key}是2015/10/19/image.jpg。

2. 如果是私有文件

通过以下代码可以生成一个访问地址。

// yourEndpoint填写Bucket所在地域对应的Endpoint。以中国(北京)为例,Endpoint填写为ks3-cn-beijing.ksyuncs.com。如果使用自定义域名,设置endpoint为自定义域名,同时设置domainMode为true
String endpoint = "yourEndpoint";
// 金山云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
String accessKeyId = "yourAccessKeyId";
String accessKeySecret = "yourAccessKeySecret";
// 创建Ks3ClientConfig 实例。
Ks3ClientConfig config = new Ks3ClientConfig();
// 设置域名
config.setEndpoint(endpoint);
// 创建Ks3Client实例
Ks3 client = new Ks3Client(accessKeyId, accessKeySecret, config);
// 生成一个在1000秒后过期的外链
client.generatePresignedUrl(<bucket>,<key>,1000);
// 生成一个1000秒后过期并重写返回的header的外链
ResponseHeaderOverrides overrides = new ResponseHeaderOverrides();
// overrides.setContentType("text/html");
// .......
// 生成指定 bucket 和 key 的外链,有效期1000秒
client.generatePresignedUrl(<bucket>,<key>,1000,overrides);

常见问题:

  • 如果文件不存在,会返回NoSuchKey错误
  • 如果以公开的方式访问私有文件,会返回AccessDined错误
  • 如果私有文件访问地址过期,会返回URLExpired错误
  • 1000秒后过期是参照客户端本地时间的。
文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈