0

我尝试将 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)")
        }
4

2 回答 2

0

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

于 2019-10-03T06:58:17.383 回答
0

该错误消息通常意味着您的数据太大而无法及时成功上传。也许尝试更小的文件或更好的互联网条件。

于 2019-10-03T06:51:04.363 回答