Alamofire.download by post,参数不起作用

Alamofire.download by post,参数不起作用,alamofire,Alamofire,您好,我正在做下载文件的参数后。但服务器无法接收post参数。 但如果我对get和url参数做同样的事情。一切正常。 通过post和参数,Almofire.request也可以正常工作。但只有带有参数的Almofire.download-by-post不起作用 为什么Alamofire.download不通过post方法发送参数 var sourceStringURL : String = "\(tmp_url)download" let destination: DownloadRequest

您好,我正在做下载文件的参数后。但服务器无法接收post参数。 但如果我对get和url参数做同样的事情。一切正常。 通过post和参数,Almofire.request也可以正常工作。但只有带有参数的Almofire.download-by-post不起作用

为什么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中的改装库正确接收post请求。

我刚刚发现,如果我将JSONEncoding.default更改为URLEncoding.default。
很好。

感谢您发布此问题并回答@MomAndDad!!!我花了很多时间来解决同样的问题(.GET with nil params work,但如果params dictionary不是nil,则甚至不会调用完成块)。我希望有一个悬赏,我会给更多的分数(请接受你的解决方案作为答案:)