我試圖從公共網絡服務器上獲取JPG文件,沒有任何形式的身份驗證。編碼是斯威夫特3 AlamoFire完成4.4AlamoFire 4.X中的網址編碼
let url = URL(string: urlString)
let myParameters: [String : AnyObject] = ["myImage": image, "myBlurredImage": blurredImage, "index": index as AnyObject]
let croppedSize = CGSize(width: self.scrollViewWidth!, height: self.scrollViewHeight!)
self.apicounterPerRequest += 1
Alamofire.request(url!, method: .get, parameters: myParameters, encoding: URLEncoding.default)
.validate()
.response { response in
let myImage = myParameters["myImage"] as! UIImageView
let myBlurredImage = myParameters["myBlurredImage"] as! UIImageView
let index = myParameters["index"] as! Int
if let downloadedImage = UIImage(data: response.data!) {
myImage.image = downloadedImage
self.displayed500PxPhoto[index].uiimage = downloadedImage
myBlurredImage.image = PhotoManager.imageWithSize(downloadedImage, size: croppedSize)
completion({
print("Done Downloading")
})
} else {
print("Error : \(response.data)")
}
if response.error != nil {
print(response.error!)
self.showAlert("One or more photos could not be downloaded. Please try again.")
completion({
throw response.error!
})
}
}
我得到一個403錯誤:
Error : Optional(409 bytes)
responseValidationFailed(Alamofire.AFError.ResponseValidationFailureReason.unacceptableStatusCode(403))
我敢肯定有一個在上面發佈的URL中使用保留字符編碼的問題,但還不知道如何正確告訴AlamoFire如何對其進行編碼。任何線索都非常感謝。感謝您的幫助。
我注意到您使用的 - 編碼:URLEncoding.default這意味着你傳遞參數的查詢字符串。您可以手動將參數添加到您提供的查詢字符串中,並查看結果是什麼? –