在向AWS存储发送放置请求期间获取“请求超时”

问题描述 投票:0回答:2

我尝试将PUT请求发送到以下链接,以将数据上传到AWS存储:

"https://jpcloud01.s3.amazonaws.com/134/111067134/872/1d38b212-9753-4d02-b87e-fa7f90d95990.mp4?AWSAccessKeyId=XXXXXXXXXXXXXXX&Expires=1570334549&Signature=YYYYYYYYYYYYYY" 

但是控制台始终显示消息:

NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://jpcloud01.s3.amazonaws.com/134/111067134/872/1d38b212-9753-4d02-b87e-fa7f90d95990.mp4?AWSAccessKeyId=XXXXXXXXXXXXXXX&Signature=YYYYYYYYYYYYYY, NSErrorFailingURLKey=https://jpcloud01.s3.amazonaws.com/134/111067134/872/1d38b212-9753-4d02-b87e-fa7f90d95990.mp4?AWSAccessKeyId=XXXXXXXXXXXXXXX&Expires=1570334549&Signature=YYYYYYYYYYYYYY, _kCFStreamErrorDomainKey=4} [-1001]

这是我发送PUT请求的代码段:

使用Alamofire 5.0 / Swift 5.0

        let _ = AF.upload(fileURL, to: uploadURL, method: .put)
            .response {
                response in
                switch response.result {
                case .success( _):
                    if let dataHeader = response.response?.allHeaderFields {
                        print(dataHeader)
                    }
                    break
                case .failure(let error):
                    print(error)
                    break
                }
                if let statusCode = response.response?.statusCode {
                    print(statusCode)
                }
            }
        .uploadProgress {
            (progeress) in
            let fProgress = Float(progeress.fractionCompleted)
            print("fProgress = \(fProgress)")
        }
swift amazon-s3 alamofire
2个回答
0
投票

错误消息通常表示您的数据太大,无法及时成功上传。也许尝试使用较小的文件或使用更好的Internet条件。


0
投票

您可以增加请求的请求超时时间。当您得到-1001,即NSURLErrorTimedOut时,您知道这是超时。

© www.soinside.com 2019 - 2024. All rights reserved.