缺少Alamofire请求"内容长度"

时间:2018-02-02 11:00:47

标签: swift http-headers alamofire multipartform-data content-length

我在服务器端获得的请求缺少每个多部分的content-length

我尝试更改标题,但仍然无法显示。

我使用 Alamofire / multipart form-data 成功地将图像文件和一些数据从设备/模拟器发送到服务器。

 var parameters = […]

    let url = try! URLRequest(url: “URL”, method: .post, headers: ["Content-type": "multipart/form-data"])

    Alamofire.upload(multipartFormData: { (multipartFormData) in
        for (key, value) in parameters {
            multipartFormData.append((value.data(using: String.Encoding.utf8)!), withName:key)

        }
        multipartFormData.append(UIImageJPEGRepresentation(image!, 0.5)!, withName: “Image”, mimeType: "image/jpeg")

    }, to: "\(url)" , encodingCompletion: {(encodingResult) in

        switch encodingResult {
        case .success(let upload, _, _):
            //print(result)
            upload.uploadProgress(closure: { (Progress) in

                self.progressView.progress = Float(Progress.fractionCompleted)
                print("Upload Progress: \(Progress.fractionCompleted)")
            })


            print("REQUEST = \(request)")
            print(encodingResult)

            upload.responseJSON { response in

                //self.delegate?.showSuccessAlert()
                print( response.request)  // original URL request
                print(response.response) // URL response
                print(response.data)     // server data
                print(response.result)   // result of response serialisation
                // self.showSuccesAlert()
                //self.removeImage("frame", fileExtension: "txt")
                if let JSON = response.result.value {
                    print("JSON: \(JSON)")
                }
            }

        case .failure(let encodingError):
            //self.delegate?.showFailAlert()
            print(encodingError)
        }
    })

更新:即使在保留headers: nil之后,它也不会显示出来。

收到alamofire: -

--alamofire.boundary.cc9684e085522290
Content-Disposition: form-data; xyz="abc"

123456
--alamofire.boundary.cc9684e085522290

如何获取每个多部分数据的内容长度?

1 个答案:

答案 0 :(得分:2)

尝试将标题更改为

headers: ["Content-Length"]

相关问题