我如何获取包含 swift 和保管箱 API 的文本文件内容

How do i get a text files content with swift and the dropbox API

我正在尝试从我的 Dropbox 帐户下载一个常规的 .txt 文件,我已经用令牌链接了该文件,但我不知道如何获取内容。 我唯一能找到的是:

            // Download a file
            client.filesDownload(path: "/hello.txt").response { response, error in
                if let (metadata, data) = response {
                    println("Dowloaded file name: \(metadata.name)")
                    println("Downloaded file data: \(data)")
                } else {
                    println(error!)
                }

除了关于文件的一堆信息之外什么也没有给我,但不是它的内容。

它打印文件大小的原因是您的 data 变量是 Data 类型。要打印实际内容,您必须先将其转换为 String

if let fileContents = String(data: data, encoding: .utf8) {
    print("Downloaded file data: \(fileContents)")
}

Swift 1

根据您对 println 的使用,您可能使用的是 Swift 的旧版本。在这种情况下,代码应如下所示:

if let fileContents = NSString(data: data, encoding: NSUTF8StringEncoding) {
    println("Downloaded file data: \(fileContents)")
}

Data类型的好处是可以直接转换,例如JSON:

guard let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] else {
    return
}
//... do something with json ...