How to upload zip data with alamofire?

2020-02-07 11:05发布

问题:

I try to upload data using Alamofire

Issue is: if I try to upload image from project it works ok, but if I try to upload zip dir I got error and timeout exception

There is my code which produces timeout exception

let configuration = URLSessionConfiguration.default
    configuration.timeoutIntervalForRequest = 10 // seconds
    configuration.timeoutIntervalForResource = 10
    alamoFireManager = Alamofire.SessionManager(configuration: configuration)

let fileData = FileManager.default.contents(atPath: filePath)
alamoFireManager.upload(fileData,
                        to: url,
                        method: .post,
                        headers: headers)
        .validate()
        .responseJSON {}

And here is code which works fine

let configuration = URLSessionConfiguration.default
    configuration.timeoutIntervalForRequest = 10 // seconds
    configuration.timeoutIntervalForResource = 10
    alamoFireManager = Alamofire.SessionManager(configuration: configuration)

let fileURL = Bundle.main.url(forResource: "MyImage", withExtension: "jpg")

alamoFireManager.upload(fileURL,
                            to: url,
                            method: .post,
                            headers: headers)
        .validate()
        .responseJSON {}

I tried to pass Data() to upload request also I tried pass reference to zip dit URL to upload request, also I tried InputStream(url: fileURL!)! but without success...

What am I doing wrong? how to send zip data to the server?

if there is some question feel free to ask!

回答1:

Eventually, I found the issue, server side does not accept my request. Also, there is some confusion, because if I try to download an image file from my project it works, but if the file is selected from the document directory then there is an issue.

Anyway if someone has a similar issue try to check your server side.

Try to check if your request came to server and with content inside.