华为云对象存储OBS如何通过URL访问图片处理服务?_云淘科技

访问非公共可读的图片

针对非公共可读的图片,需要在计算签名时加上图片处理参数,最终通过生成带签名的临时URL来访问。

如下为一个简单的Java SDK示例代码供参考,详细的SDK使用可参考SDK使用文档。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Endpoint以华北-北京四区域为例,其他区域请按实际情况填写
String endPoint = "https://obs.cn-north-4.myhuaweicloud.com"; 
// 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全;
// 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量ACCESS_KEY_ID和SECRET_ACCESS_KEY。
// 您可以登录访问管理控制台获取访问密钥AK/SK,获取方式请参见https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html
String ak = System.getenv("ACCESS_KEY_ID");
String sk = System.getenv("SECRET_ACCESS_KEY");
 
// 创建ObsClient实例 
ObsClient obsClient = new ObsClient(ak, sk, endPoint); 

// URL有效期,3600秒 
long expireSeconds = 3600L;   
TemporarySignatureRequest request = new TemporarySignatureRequest(HttpMethodEnum.GET, expireSeconds); request.setBucketName("bucketname"); 
request.setObjectKey("objectname");  

// 设置图片处理参数  
Map queryParams = new HashMap(); 
queryParams.put("x-image-process", "image/resize,m_fixed,w_100,h_100/rotate,100"); request.setQueryParams(queryParams);  

// 获取支持图片处理的URL
TemporarySignatureResponse response = obsClient.createTemporarySignature(request);
System.out.println("Getting object using temporary signature url:"); 
System.out.println("	" + response.getSignedUrl()); 

访问公共可读的图片

针对公共可读的图片,直接在访问图片的URL请求后添加图片处理参数即可。

如下为获取名称为example.jpg的图片信息URL示例:

/2024/01/04/example.jpg?x-image-process=image/info

父主题: 常见问题

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家