我使用以下内容将图片上传到S3。奇怪的是,它甚至没有进入街区。因此,没有错误,没有成功,indication...it根本不返回任何东西。我以前从没见过这样的事。
AWSS3TransferManagerUploadRequest *amazonUploadRequest = [AWSS3TransferManagerUploadRequest new];
amazonUploadRequest.bucket = AWS_PICTURE_BUCKET;
amazonUploadRequest.body = fileUrl;
amazonUploadRequest.key = key;
amazonUploadRequest.contentType = @"image/jpeg";
AWSS3TransferManager *transferManager = [AWSS3TransferManager defaultS3TransferManager];
[[transferManager upload:amazonUploadRequest] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) {
//Never reaches here.
if (task.error == nil) {
completionBlock();
} else {
errorBlock(task.error);
}
return nil;
}];有人见过这个问题吗?我曾经用这个在过去上传1或2张图片,甚至50张图片在循环。我现在试着用100,它甚至一次也不执行。
发布于 2017-03-20 21:10:34
找到了!
所以我在每次上传时都异步地使用dispatch_semaphore_t,结果是GCD has a 64 thread limit和100 +上传都是这样做的。这使得所有的上传等待(DISPATCH_TIME_FOREVER),因此它似乎是没有响应的方法。
我通过调整dispatch_semaphore_t和摆脱我的异步块来修正它,以便单独上传。如果您发现自己处于这种情况下,请按pause按钮,一次查找运行的线程数。
谢谢!
https://stackoverflow.com/questions/42911644
复制相似问题