Я не смог загрузить изображение в хранилище amazon s3 с помощью ключа доступа и секретного ключа, если кто-то сделал такой пример, используя ключ доступа и секретный ключ, пожалуйста, поделитесь, я также пишу этот код, пожалуйста, просмотрите этотЕсли я сделал какую-либо ошибку, пожалуйста, укажите.Вот код:
import UIKit
import AWSS3
import AWSCore
class ViewController: UIViewController {
let accessKey = "myaccesskey here"
let secretKey = "mysecretkey here"
let S3BucketName = "bucketname"
let remoteName = "test.jpg"
@IBOutlet var activtyIndicator: UIActivityIndicatorView!
override func viewDidLoad() {
super.viewDidLoad()
let credentialsProvider = AWSStaticCredentialsProvider(accessKey: accessKey, secretKey: secretKey)
let configuration = AWSServiceConfiguration(region:AWSRegionType.USEast1, credentialsProvider:credentialsProvider)
AWSServiceManager.default().defaultServiceConfiguration = configuration
}
@IBAction func uploadAction(_ sender: UIBarButtonItem) {
print("Tapped")
activtyIndicator.startAnimating()
let fileURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(remoteName)
let image = UIImage(named: "test")
let data = image!.jpegData(compressionQuality: 0.9)
do {
try data?.write(to: fileURL)
}
catch {}
let uploadRequest = AWSS3TransferManagerUploadRequest()!
uploadRequest.body = fileURL
uploadRequest.key = remoteName
uploadRequest.bucket = S3BucketName
uploadRequest.contentType = "image/jpeg"
uploadRequest.acl = .publicRead
let transferManager = AWSS3TransferManager.default()
transferManager.upload(uploadRequest).continueWith { [weak self] (task) -> Any? in
DispatchQueue.main.async {
self?.activtyIndicator.stopAnimating()
}
if let error = task.error {
print("Upload failed with error: (\(error.localizedDescription))")
}
if task.result != nil {
let url = AWSS3.default().configuration.endpoint.url
let publicURL = url?.appendingPathComponent(uploadRequest.bucket!).appendingPathComponent(uploadRequest.key!)
if let absoluteString = publicURL?.absoluteString {
print("Uploaded to:\(absoluteString)")
}
}
return nil
}
}
}
Ошибка ниже:
"Загрузка не удалась с ошибкой: (сетевое соединение было потеряно.)"