我们有aws中的s3存储桶,其中有视频。我们需要使用AWS iOS sdk传输这些视频。串流s3私人视频
到目前为止,我能找到的唯一的选择是使用URL流(公共视频)
但对于S3 GetObject的请求 - 我可以下载视频,然后查看它,但有没有办法下载在大块视图呢?
我们有aws中的s3存储桶,其中有视频。我们需要使用AWS iOS sdk传输这些视频。串流s3私人视频
到目前为止,我能找到的唯一的选择是使用URL流(公共视频)
但对于S3 GetObject的请求 - 我可以下载视频,然后查看它,但有没有办法下载在大块视图呢?
找到一种方法来做到这一点,您生成安全网址来访问AWSIOSSDK
S3GetPreSignedURLRequest * request = [[S3GetPreSignedURLRequest alloc] init];
request.key = fileName;
request.bucket = self.bucket;
[request setExpires:[NSDate dateWithTimeIntervalSinceNow:3600]];
这仅适用于1+不是2
getObject默认为非阻塞下载调用。所以基本上这个框架被设计为在下载完成后处理回调,以便为您提供输出流中的数据并将其提供给客户端流供查看。
软件开发工具包支持非阻塞式下载,所以理想情况下您也可以在客户端以块的形式下载。
我帮助维持AWS SDK适用于iOS。
SDK支持获取请求的范围,因此您可以在离散操作中下载数据块。
S3GetObjectRequest *getObjectRequest = [[S3GetObjectRequest alloc] initWithKey:FILE withBucket:BUCKET];
[getObjectRequest setRangeStart:START rangeEnd:END];
[s3 getObject:getObjectRequest];
SDK还包含可能被使用,因为它被以流方式下载到处理数据的委托协议。
我知道这是旧的,但无论如何。我可以看到对象被创建,你从哪里得到的URL? – Esko918
你能澄清一下什么对象吗? –
我想通了。在创建presignedurl请求之后,我必须使用''[[[AWSS3PreSignedURLBuilder defaultS3PreSignedURLBuilder] getPreSignedURL:request]''。该块返回一个AWTask,它是已生成的URL。我仍然没有完成它,但我认为多数民众赞成的方式去 – Esko918