Как преобразовать данные (Type Data) в zip-файл (Type File) в swift 4 и какао для Mac OS App? - PullRequest
0 голосов
/ 29 ноября 2018

Я занимаюсь разработкой приложения для Mac OS, в котором мне нужно преобразовать данные из API сервера в zip-файл.API возвращает сам zip-файл (я получаю zip-файл с сервера) в закодированном формате типа Data, но я хочу преобразовать эти данные в zip-файл и сохранить его на диске.

Моя функция:


func DownloadExamZip(){  
    let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:5000/api/DownloadExamZip/EX0000018/ST000000195/874059")! as URL)  
    request.httpMethod = "GET"  
    let AuthorizationToken = "Hidden"  
    request.setValue("application/x-www-form-urlencoded; charset=utf-8", forHTTPHeaderField: "Content-Type")  
    request.setValue(AuthorizationToken, forHTTPHeaderField: "Authorization")  
    let task = URLSession.shared.dataTask(with: request as URLRequest) { data, response, error in  
        do {  
            guard data != nil else {  
                print("data is nil")  
                return  
            }  
            //Here i want to convert the type data to a zip file  

        }  
        catch {  
            print("Error -> \(error)")  
        }  
    }  
    task.resume()  
} 

Может кто-нибудь помочь мне преобразовать эти данные в ZIP-файл, пожалуйста.Я также должен сохранить этот файл на диске.

1 Ответ

0 голосов
/ 01 марта 2019

Вы можете использовать метод write(to:options:), чтобы записать свои данные в файл по определенному URL

    let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false).appendingPathComponent("yourfile.zip")
    do {
        try data.write(to: fileURL, options: .atomic)
    } catch {
        print(error)
    }
...