如何使用swift和dropbox API获取文本文件内容
我正试图从我的dropbox帐户下载一个普通的.txt文件,我用一个令牌链接了这个文件,但我不知道如何获取内容。 我唯一能找到的是:如何使用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 {
// 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类来处理它。看到这个答案可以帮助你开始:很高兴我能帮上忙!