OBS文件上传及临时链接展示

举报
秃顶程序员 发表于 2022/05/07 14:15:18 2022/05/07
【摘要】 实际需求中,我们经常有需要将存储的文件,进行预览的需要,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
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。