ios 上的 AWSS3TransferUtilityErrorDomain 代码=2
Posted
技术标签:
【中文标题】ios 上的 AWSS3TransferUtilityErrorDomain 代码=2【英文标题】:AWSS3TransferUtilityErrorDomain Code=2 on ios 【发布时间】:2017-02-25 13:51:35 【问题描述】:AWSS3TransferUtilityErrorDomain Code=2
在 ios 上上传达到 100% 而 android 工作正常时出现此错误。
我正在使用react-native-s3
。但这似乎是 sdk 或我的存储桶策略的问题,但我不知道如何解决。
更多信息: 上传时,我使用了从我们的服务器生成的 CognitoCredentials、区域、IdentityPool 和 sessionToken。
编辑: 这只发生在 iOS 上。 Android 运行良好。
【问题讨论】:
【参考方案1】:所以看来我的问题是错误的地区。不过我不知道为什么 Android 可以工作。
【讨论】:
【参考方案2】:通常这是一个 S3 存储桶策略问题,即权限。以下是 s3 的示例策略脚本。
<key>AWS</key>
<dict>
<key>CredentialsProvider</key>
<dict>
<key>CognitoIdentity</key>
<dict>
<key>Default</key>
<dict>
<key>PoolId</key>
<string>us-west-2:xxxxx</string>
<key>Region</key>
<string>USWest2</string>
</dict>
</dict>
</dict>
<key>S3TransferUtility</key>
<dict>
<key>Default</key>
<dict>
<key>Region</key>
<string>**USEast1**</string>
</dict>
</dict>
</dict>
【讨论】:
我在哪里添加这个?在 Info.plist 中? @Damathryx 是的。你明白了吗?我现在有这个问题。 @MaxNelson 对我来说这是不正确的区域。我不知道为什么它可以在 android 上运行【参考方案3】:我知道这是一个老问题,但是最好写下我的情况和解决方案。 在我的 iOS (Swift) 项目中,我尝试在登录后上传图片(使用 Cognito),但出现此错误:
Error Domain=com.amazonaws.AWSS3TransferUtilityErrorDomain Code=2 "(null)"
下面的代码看起来一切正常:
transferUtility.uploadData(
data,
key: "my-picture.png",
contentType: "image/png",
expression: expression,
completionHandler: completionHandler).continueWith (task) -> AnyObject? in
if let error = task.error
print("Error: \(error.localizedDescription)")
DispatchQueue.main.async
print("Error on upload: \(error.localizedDescription)")
if let _ = task.result
DispatchQueue.main.async
print("Upload Starting!")
return nil;
解决方案在AWS Amplify Storage documentation。正如那里所说,我应该写像key: "private/user_identity_id/my-picture.png"
这样的键值
也许,它会在未来帮助任何人。
【讨论】:
【参考方案4】:在向 S3 存储桶添加策略时检查您的 ARN。它应该是 喜欢
arn:aws:s3:::yourBucketName/*
如果您直接在您的存储桶中上传而不使用任何子 目录。
【讨论】:
【参考方案5】:就我而言,问题的原因在于文件名中的特殊符号,尤其是%
。在上传文件之前过滤文件名中的特殊符号解决了这个问题。
【讨论】:
以上是关于ios 上的 AWSS3TransferUtilityErrorDomain 代码=2的主要内容,如果未能解决你的问题,请参考以下文章
iOS - iOS 上的以下 LAContext 错误日志是啥意思?
iOS 14 上的 UICollectionView 列表布局问题
iOS 14 上的 NSNumberFormatter 错误