如何使用swift和dropbox API获取文本文件内容

如何使用swift和dropbox API获取文本文件内容,swift,dropbox-api,swiftydropbox,Swift,Dropbox Api,Swiftydropbox,我正试图从我的dropbox帐户下载一个普通的.txt文件,我用一个令牌链接了这个文件,但我不知道如何获取内容。 我唯一能找到的是: // Download a file client.filesDownload(path: "/hello.txt").response { response, error in if let (metadata, data) = response {

我正试图从我的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!)
                }

它只提供有关文件的一系列信息,而不提供其内容。

它打印文件大小的原因是您的
数据
变量的类型为
数据
。要打印实际内容,必须首先将其转换为
字符串

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

数据
类型的好处在于,您可以直接转换它,例如,JSON:

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

我甚至没有文件下载方法o。o它与
client.files.download(路径:…)
相同吗?在这种情况下,您的
数据
变量应该包含文件的内容。@Alex数据变量包含meOoh的文件大小。我知道问题出在哪里了。数据类型为
数据
,仅在打印时显示大小。您必须通过以下方式将其转换为字符串:
如果让fileContents=string(数据:数据,编码:.utf8){print(fileContents)}
将文件下载到设备后,您需要使用FileManager类来处理它。看到这个答案可以帮助你开始:很高兴我能帮上忙!