【问题标题】:Wrong values for parameters send using MultipartFormData使用 MultipartFormData 发送的参数值错误
【发布时间】:2019-07-08 13:11:11
【问题描述】:

我所做的只是:

    func postMultipart(_ url: URL, parameters: [String: Any]?, headers: [String: String]?, image: UIImage?, success: @escaping SuccessHandler, failure: @escaping ErrorHandler) {
        manager.upload(multipartFormData: { multipart in
            if let image = image, let data = UIImagePNGRepresentation(image) {
                multipart.append(data, withName: "Passport", fileName: "picture.png", mimeType: "image/png")
            }
            if let parameters = parameters {
                for (key, value) in parameters {
                    multipart.append(self.archiver.data(from: value), withName: key)
                }
            }
        }, to: url, method: .post, headers: headers) { result in
            //parse result here
        }
    }

这就是我看到的多部分发送到服务器的结果:

您可能会发现这是错误的。它应该是这样的:

PMSReservationID: "23".

为什么它不是一个字符串,而是一些归档对象?

【问题讨论】:

    标签: ios swift alamofire multipart


    【解决方案1】:

    你可能需要它

    for (key, value) in parameters {
       multipartFormData.append((value as AnyObject).data(using: String.Encoding.utf8.rawValue)!, withName: key)
    }
    

    【讨论】:

    • 我的值因上下文而异。它可能是:StringNumber 甚至是另一本字典。那么它也会起作用吗?
    猜你喜欢
    • 2015-11-04
    • 2020-04-14
    • 1970-01-01
    • 1970-01-01
    • 2011-08-10
    • 2016-02-10
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多