求助
有大兄弟大妹纸在APP端签名使用过OSS生成的缩略图吗
(打开APP端页面,默认显示缩略图,点击缩略图,才临时加载原图)
【OSS的开发文档之 授权访问】
help.aliyun.com/document_detail/32049.html?spm=5176.product31815.6.702.Hv1nSz
但还是不明白怎么使用
因为
我这边拉取 不到缩略图的路径
我这边是本地签名生成的路径
和OSS生成的加后缀的路径是不一样的
麻烦android / ios的大兄弟大妹纸了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云OSS中生成缩略图并实现在APP端的签名访问,主要涉及以下几个步骤:
阿里云OSS提供了图片处理服务(Image Service),允许你直接通过URL参数来对存储在OSS中的图片进行处理,比如生成缩略图。具体操作如下:
http://your-bucket-name.oss-cn-hangzhou.aliyuncs.com/your-image.jpg
。http://your-bucket-name.oss-cn-hangzhou.aliyuncs.com/your-image.jpg?x-oss-process=image/resize,w_100
更多图片处理参数可以参考OSS图片处理文档。
由于直接使用上述URL可能会暴露资源,特别是在需要权限控制的情况下,你需要对URL进行签名以确保安全访问。这通常涉及到计算签名和添加到URL上。对于Android和iOS客户端,你可以使用阿里云提供的SDK来实现这一过程。
在Android应用中,你可以使用阿里云OSS SDK来生成带有签名的URL。首先,确保你已经正确配置了OSS SDK,并获取了OSSClient实例。然后,使用以下代码生成签名URL:
String objectName = "your-image.jpg";
long expireTime = 3600; // URL的有效期,单位秒
GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucketName, objectName, HttpMethod.GET);
request.setExpiration(new Date(System.currentTimeMillis() + expireTime * 1000));
URL signedUrl = ossClient.generatePresignedUrl(request);
在iOS应用中,同样使用阿里云OSS SDK(Objective-C版本)来生成签名URL。示例代码如下:
NSString *objectKey = @"your-image.jpg";
NSTimeInterval expiration = 3600; // URL有效期,单位秒
AOSPresignRequest *presignRequest = [[AOSPresignRequest alloc] initWithBucket:@"your-bucket-name" key:objectKey];
[presignRequest setExpires:(uint64_t)(expiration)];
NSError *error;
NSURL *signedURL = [ossClient presignedURL:presignRequest error:&error];
确保在实际应用中,根据业务需求调整URL的有效期、选择合适的图片处理参数,并正确集成OSS SDK进行签名处理。