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)