How to convert data(Type Data) into a zip file(Type File) in swift 4 and cocoa for Mac OS App?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







-1















I am developing a mac os application where i have to convert the data from server API to a zip file. The API is returning a zip file itself(i am fetching a zip file from server) in encoded format of type Data, but i want to convert that data to a zip file and want to store in the disk.



My Function:





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()
}


Can anyone help me to convert that data into a zip file please. I also have to store that file in the disk.










share|improve this question































    -1















    I am developing a mac os application where i have to convert the data from server API to a zip file. The API is returning a zip file itself(i am fetching a zip file from server) in encoded format of type Data, but i want to convert that data to a zip file and want to store in the disk.



    My Function:





    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()
    }


    Can anyone help me to convert that data into a zip file please. I also have to store that file in the disk.










    share|improve this question



























      -1












      -1








      -1


      1






      I am developing a mac os application where i have to convert the data from server API to a zip file. The API is returning a zip file itself(i am fetching a zip file from server) in encoded format of type Data, but i want to convert that data to a zip file and want to store in the disk.



      My Function:





      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()
      }


      Can anyone help me to convert that data into a zip file please. I also have to store that file in the disk.










      share|improve this question
















      I am developing a mac os application where i have to convert the data from server API to a zip file. The API is returning a zip file itself(i am fetching a zip file from server) in encoded format of type Data, but i want to convert that data to a zip file and want to store in the disk.



      My Function:





      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()
      }


      Can anyone help me to convert that data into a zip file please. I also have to store that file in the disk.







      macos cocoa swift4.1






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 29 '18 at 6:40







      Bishnu Das

















      asked Nov 29 '18 at 6:34









      Bishnu DasBishnu Das

      45




      45
























          1 Answer
          1






          active

          oldest

          votes


















          0














          You can use write(to:options:) method to write your data to file at particular 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)
          }





          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53533137%2fhow-to-convert-datatype-data-into-a-zip-filetype-file-in-swift-4-and-cocoa-f%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            You can use write(to:options:) method to write your data to file at particular 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)
            }





            share|improve this answer




























              0














              You can use write(to:options:) method to write your data to file at particular 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)
              }





              share|improve this answer


























                0












                0








                0







                You can use write(to:options:) method to write your data to file at particular 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)
                }





                share|improve this answer













                You can use write(to:options:) method to write your data to file at particular 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)
                }






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 1 at 12:10









                Mubin MallMubin Mall

                4521025




                4521025
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53533137%2fhow-to-convert-datatype-data-into-a-zip-filetype-file-in-swift-4-and-cocoa-f%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown