AWS S3 上传不工作
AWS S3 uploading not working
我正在使用以下方法将图像上传到 S3。奇怪的是,它甚至没有进入街区。所以,没有错误,没有成功指示......它根本没有 return 任何东西。我以前从未见过这种情况。
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,它甚至没有执行一次。
找到了!
所以我在每次上传时异步使用 dispatch_semaphore_t
结果是 GCD has a 64 thread limit 并且我上传了 100 多次。这使得所有上传都在等待 (DISPATCH_TIME_FOREVER),因此 AWS 方法似乎没有响应。
我通过调整 dispatch_semaphore_t
并删除我的个人上传异步块来修复它。如果您发现自己处于这种情况,请点击 pause
按钮并一次查看线程数 运行。
谢谢!
我正在使用以下方法将图像上传到 S3。奇怪的是,它甚至没有进入街区。所以,没有错误,没有成功指示......它根本没有 return 任何东西。我以前从未见过这种情况。
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,它甚至没有执行一次。
找到了!
所以我在每次上传时异步使用 dispatch_semaphore_t
结果是 GCD has a 64 thread limit 并且我上传了 100 多次。这使得所有上传都在等待 (DISPATCH_TIME_FOREVER),因此 AWS 方法似乎没有响应。
我通过调整 dispatch_semaphore_t
并删除我的个人上传异步块来修复它。如果您发现自己处于这种情况,请点击 pause
按钮并一次查看线程数 运行。
谢谢!