您好,我正在通过带参数的帖子下载文件。但是服务器无法接收发布参数。 但是如果我用url参数做同样的事情。一切正常。 Almofire.request也可以通过带参数的发布正常工作。但是只有带有参数的post的Almofire.download不起作用。
为什么Alamofire.download无法通过post方法发送参数?
var sourceStringURL : String = "\(tmp_url)download"
let destination: DownloadRequest.DownloadFileDestination =
{
_, _ in
let fileURL = URL(fileURLWithPath: destPath)
return (fileURL, [.removePreviousFile, .createIntermediateDirectories])
}
Alamofire.download(sourceStringURL, method: .post, parameters: ["id": idStr, "var": varStr], encoding: JSONEncoding.default, headers: nil, to: destination)
.downloadProgress
{
progress in
var tmpPercent : Int = Int(progress.fractionCompleted*100 / 1.0)
}
.response
{
response in
if let error = response.error
{
print(error)
}
else
{
//success
}
}
服务器通过Android中的Retrofit库正确接收发布请求。
答案 0 :(得分:1)
我刚刚发现,如果我将JSONEncoding.default更改为URLEncoding.default。 很好。