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”;
`
- 点赞
- 收藏
- 关注作者
评论(0)