gpt4 book ai didi

ios - 返回 ENOTCONN 错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:06:03 27 4
gpt4 key购买 nike

我正在尝试将图像上传到 Aws S3 存储桶。我尝试按照教程进行操作,但收到一条错误消息“正在返回 ENOTCONN,因为尚未设置协议(protocol)。”我是 swift 的新手,我也无法理解为什么会发生错误。我的 S3 上传代码如下:

 let uploadRequest = AWSS3TransferManagerUploadRequest()
uploadRequest?.body = url!
uploadRequest?.key = remoteFileName
uploadRequest?.bucket = S3BucketName
uploadRequest?.contentType = "image/" + ext

let transferManager = AWSS3TransferManager.default()

// Perform Upload
transferManager.upload(uploadRequest!).continueWith(block: { (task:AWSTask<AnyObject>) -> AnyObject! in

if let error = task.error{
print("error \(error.localizedDescription)")
}

if task.result != nil {
let url = AWSS3.default().configuration.endpoint.url
let publicURL = url?.appendingPathComponent((uploadRequest?.bucket!)!).appendingPathComponent((uploadRequest?.key!)!)
print("Uploaded to:\(publicURL)")
}
return nil
})

我的 S3 在 ap-south-1 中,认知池 ID 在 us-west-2 中。我想这就是问题所在。有没有办法在不在 us-west-2 中创建另一个存储桶的情况下解决这个问题。我收到以下错误:

error

最佳答案

如果没有为身份验证设置认知池,您希望存储桶策略有点像这样:注意 PrincipalActionBucket Policy

此外,您使用 AWSS3TransferManagerUploadRequest 有什么特别的原因吗?如果政策未能解决您的问题,您可以将以下代码用于 AWSS3TransferUtilityUploadExpression,它以异步方式分块发送您的数据。

   let expression = AWSS3TransferUtilityUploadExpression()

expression.progressBlock = progressBlock

transferUtility.uploadData(UIImagePNGRepresentation(imageNew!)!,
bucket: "bucket-name",
key: (imgName.removeWhitespace()),
contentType: "image/png",
expression: expression,
completionHandler: completionHandler).continueWith { (task) -> AnyObject! in
if let error = task.error {
print("Error: \(error.localizedDescription)")
}

if let _ = task.result {
print("Upload Starting!")
// Do something with uploadTask.
}

return nil;
}

关于ios - 返回 ENOTCONN 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47426902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com