gpt4 book ai didi

ios - Alamofire 通过分段图片上传返回 "The request timed out",但 Postman 没有问题

转载 作者:行者123 更新时间:2023-11-29 11:47:49 27 4
gpt4 key购买 nike

我正在尝试使用带有 Alamofire 的分段上传来发布带有图像的数据。但它总是返回“请求超时”错误。当使用 Postman 尝试相同的 Web 服务时,它可以正常工作。基本上 Alamofire 一直在尝试一段时间,并返回此错误,但是通过 Postman,我可以看到响应几乎是立即的,并且没有收到超时。

这是我为发布请求创建的辅助方法:

     class func postRequestWithImage(image: UIImage, params : [String : String],success:@escaping (JSON) -> Void, failure:@escaping (NSError) -> Void){

SVProgressHUD.show()
Alamofire.upload(multipartFormData: { (multipartFormData) in
let imageData : Data = UIImageJPEGRepresentation(image, 0.6)!

for (key, value) in params{
multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}
multipartFormData.append(imageData, withName: "image")


}, to: WEBSERVICE_URL) { (encodingResult) in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
debugPrint(response)
if response.result.isSuccess{
success(JSON(response.result.value!))
SVProgressHUD.dismiss()
}
else{
failure(response.result.error! as NSError)
}

}
case .failure(let encodingError):
failure(encodingError as NSError)
print(encodingError)
}

}
}

同样的调试响应是:

    [Request]: http://website.com/v1/service/
[Response]: nil
[Data]: 0 bytes
[Result]: FAILURE: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={NSUnderlyingError=0x6080006441a0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=http://website.com/v1/service/, NSErrorFailingURLKey=http://website.com/v1/service/, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.}
[Timeline]: Timeline: { "Request Start Time": 510773039.719, "Initial Response Time": 510773051.183, "Request Completed Time": 510773120.615, "Serialization Completed Time": 510773120.615, "Latency": 11.464 secs, "Request Duration": 80.895 secs, "Serialization Duration": 0.000 secs, "Total Duration": 80.896 secs }

最佳答案

我解决了这个问题。就我而言,这是一个粗心的错误。我在 url 中使用了一个额外的斜杠。我将 web api 更改为不同的文件夹,在 iOS 代码中更改它时我犯了这个错误。

我还对 .htaccess 文件进行了一些更改,因此请求没有给出 404 错误,而是尝试连接到该错误地址。初学者 Web 开发人员会犯的错误

关于ios - Alamofire 通过分段图片上传返回 "The request timed out",但 Postman 没有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42701952/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com