代码之家  ›  专栏  ›  技术社区  ›  Lojas

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

  •  0
  • Lojas  · 技术社区  · 8 年前

    我正在下载一个普通的。txt文件从我的dropbox帐户,我有一个令牌链接,但我不知道如何获得内容。 我唯一能找到的是:

                // 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!)
                    }
    

    这只给了我一堆关于这个文件的信息,而不是它的内容。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Alex Wally    8 年前

    它打印文件大小的原因是 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)")
    }
    

    数据 类型是您可以直接转换它,例如JSON:

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