Search code examples
iosswiftalamofireswift3alamofireimage

Alamofire 4.0 Upload MultipartFormData Header


How do we add an authentication header to the upload function of Alamofire 4.0?

below is the sample code, however I see no way in adding a header to the function.

Alamofire.upload(
    multipartFormData: { multipartFormData in
        multipartFormData.append(unicornImageURL, withName: "unicorn")
        multipartFormData.append(rainbowImageURL, withName: "rainbow")
    },
    to: "https://httpbin.org/post",
    encodingCompletion: { encodingResult in
        switch encodingResult {
        case .success(let upload, _, _):
            upload.responseJSON { response in
                debugPrint(response)
            }
        case .failure(let encodingError):
            print(encodingError)
        }
    }
)

Previous version of alamofire supported adding header directly, but not the new one. Any ideas?


Solution

  • I got the solution.

    Alamofire.upload(multipartFormData:{ multipartFormData in
             multipartFormData.append(unicornImageURL, withName: "unicorn")
             multipartFormData.append(rainbowImageURL, withName: "rainbow")},
           usingThreshold:UInt64.init(),
           to:"https://httpbin.org/post",
           method:.post, 
           headers:["Authorization": "auth_token"], 
           encodingCompletion: { encodingResult in
            switch encodingResult {
            case .success(let upload, _, _):
                upload.responseJSON { response in
                    debugPrint(response)
                }
            case .failure(let encodingError):
                print(encodingError)
            }
        })
    

    Hope it will help you.