- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试将图像上传到 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 中创建另一个存储桶的情况下解决这个问题。我收到以下错误:
最佳答案
如果没有为身份验证设置认知池,您希望存储桶策略有点像这样:注意 Principal 和 Action 值
此外,您使用 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/
我正在尝试将图像上传到 Aws S3 存储桶。我尝试按照教程进行操作,但收到一条错误消息“正在返回 ENOTCONN,因为尚未设置协议(protocol)。”我是 swift 的新手,我也无法理解为什
这是在 AS400(IBM i、iSeries 等)上。 我有一个小型 Java 程序,用于将测试文件发送到用 C++ 编写的服务器,该服务器也在 IBM i 上运行。在我的 Java 程序中,我将响
Node 项目在几个月前运行良好,现在在实现套接字之后,当尝试运行应用程序时,我看到以下错误: Error in console(git bash) 我正在使用 win 10,尝试更改 Node 版本
我正在尝试从阻塞套接字中读取,但我想知道 read() 返回 -1,我认为这意味着当前没有数据可读 - 我希望它会阻塞直到它可以读取字节数。 我还尝试确保套接字处于阻塞模式并且使用以下方法设置了高超时
为要写入文件流的 console.log 或 console.error 创建了访问和错误管道或可写流。 var fs = require("fs"); var access = fs.createW
我是一名优秀的程序员,十分优秀!