OBS文件上传及临时链接展示
【摘要】 实际需求中,我们经常有需要将存储的文件,进行预览的需要,OBS提供了OBS临时链接的形式可满足上述需求。
实际需求中,我们经常有需要将存储的文件,进行预览的需要,OBS提供了OBS临时链接的形式可满足上述需求。
在这之前需要先设置一下桶策略。
[对匿名用户授予桶的公共读权限]
(https://support.huaweicloud.com/perms-cfg-obs/obs_40_0031.html)
下面只是关键代码,详细程序,可以参考官网的API DEMO
`
String endPoint = “Endpoint”;
String ak = “Access Key”;
String sk = “Secret Key”;
// 创建ObsClient实例
ObsClient obsClient = new ObsClient(ak, sk, endPoint);
文件上传
//obsPath Obs上传的目录路径 比如a/b/c.jpg
obsClient.putObject(“bucketname”, “obsPath”, new ByteArrayInputStream(fileByte));
判断对象是否存在,不存在会报异常
obsClient.getObjectMetadata(“bucketname”, objectname);
获取临时链接
// URL有效期,1年 公有云最长可设20年
long expireSeconds = 365 * 24 * 3600;
TemporarySignatureRequest request = new TemporarySignatureRequest(HttpMethodEnum.GET, expireSeconds);
String url = response.getSignedUrl();
`
经过测试,临时链接可以展示图片、视频等浏览器支持格式,WORD文档等浏览器不支持的格式文件会自动下载下来。
https证书问题
默认生成的链接是https的链接,在应用重启后,需要证书鉴权后才能进行展示,这可通过将链接设置为http的链接解决。
`
//生成http链接
String endPoint = “http://Endpoint”;
`
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
热门文章
yd_2978507132023/10/23 12:04:001楼编辑删除举报