尊敬的开发人员,我遇到了与 Amazon S3 视频上传相关的问题。
我正在使用 iOS SDK V2 来安排 iOS 客户端和 Amazon 之间的交互。我已经阅读了亚马逊开发人员提供的所有文档并调查了手册,并且出现了一些未记录的问题。
我将从头开始解释问题。
1) 身份验证,我正在使用 STS 方法对 Amazon s3 请求的用户进行身份验证。
这一步不是重点,因为我也使用此身份验证配置来上传图像,并且一切正常。
2) 对于我正在使用的视频文件的上传:
AWSS3传输管理器
上传示例代码:
AWSS3PutObjectRequest *logFile = [AWSS3PutObjectRequest new];
logFile.bucket = uploadTokenData_.bucket;
logFile.key = key;
logFile.contentType = contentType;
logFile.body = data_;
logFile.contentLength = [NSNumber numberWithInteger:[data_ length]];
AWSS3 *S3 = [[AWSS3 alloc] initWithConfiguration:[AWSCredentialsProvider runServiceWithStsCredential]];
AWSS3TransferManager *transferManager = [[AWSS3TransferManager alloc] initWithS3:S3];
[[transferManager.s3 putObject:logFile] continueWithBlock:^id(BFTask *task)
{
NSLog(@"Error : %@", task.error);
if (task.error == nil)
{
NSLog(@"Uploadet");
}
}
3) 出现的问题。
1) -1001:s3 文件上传几乎立即出现错误响应,更准确地说,我将为您提供来自 Amazon 的响应的调试行。
AWSiOSSDKv2 [调试] AWSSignature.m 行:642 |
-[AWSS3ChunkedEncodingInputStream nextChunk] |流读取:32677,块大小:32768
Domain=NSURLErrorDomain Code=-1001“请求超时。”
2) 它堆叠在文件的随机块上并停止将其上传到服务器。并且写入网络连接丢失,但互联网连接已建立。
错误域 = NSURLErrorDomain 代码 = -1005 “网络连接已
丢失的。”
4) 结论
但尽管如此,这种方法有时会向亚马逊上传视频文件,这很奇怪。例如,从一早我就上传 77 MB 的视频文件,现在每次我都会收到。
域=NSURLErrorDomain 代码=-1001
如果有人知道或者甚至有一些想法如何解决这个问题,请给我一些建议。
非常感谢您抽出时间!