首页 > 解决方案 > 使用 URLSession downloadTask 在设备上下载数据后如何获取/打印数据?

问题描述

我从互联网上下载了一个 JSON 文件并将其保存在文档目录中。然后我将临时文件位置移动到我的自定义文件位置。现在我想从保存数据的自定义 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

标签: iosswiftswift4swift5swift5.1

解决方案


两种选择:

  1. 用 加载数据String(contentsOf: self.newUrl)
  2. 而不是downloadTask使用dataTaskthen 你可以保存数据Documents并直接使用它。

推荐阅读