我尝试将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)")
}
错误消息通常表示您的数据太大,无法及时成功上传。也许尝试使用较小的文件或使用更好的Internet条件。
您可以增加请求的请求超时时间。当您得到-1001,即NSURLErrorTimedOut时,您知道这是超时。