Как получить / распечатать данные после загрузки их на устройство с помощью URLSession downloadTask? - PullRequest
0 голосов
/ 14 марта 2020

Я скачал файл JSON из inte rnet и сохранил его в каталоге документов. Затем я переместил местоположение временного файла в свое собственное местоположение файла. Теперь я хочу распечатать или получить доступ с моего пользовательского URL / пути к файлу, где сохранены данные.

Вот код загрузки файла.

func downloadingContent() {

        let url = URL(string: "https://file-examples.com/wp-content/uploads/2017/02/file_example_JSON_1kb.json")

        URLSession.shared.downloadTask(with: url!) { (urlresponse, response, error) in

            guard let originalUrl = urlresponse else { return }

            do {
                let path = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)

                self.newUrl = path.appendingPathComponent("jsonFile")

                try FileManager.default.moveItem(at: originalUrl, to: self.newUrl!)
                print(self.newUrl!)
            }
            catch {
                print(error.localizedDescription)
                return
            }
        }.resume()
    }

Вот пользовательский путь к файлу / URL Я получаю после загрузки файла.

file:///Users/fahimrahman/Library/Developer/CoreSimulator/Devices/4DA8E821-097A-4D66-BE95-CE51F3C52CD8/data/Containers/Data/Application/C7714D5E-6CBC-4E54-8619-C9C15EA739B3/Documents/jsonFile

1 Ответ

1 голос
/ 14 марта 2020

Два варианта:

  1. Загрузить данные с помощью String(contentsOf: self.newUrl).
  2. Вместо downloadTask использовать dataTask, затем вы можете сохранить данные в Documents и использовать это напрямую.
...