iOS Dropbox错误加载缩略图

时间:2015-08-17 08:09:14

标签: ios swift thumbnails dropbox

我想获得我在视图上显示的dropbox文件的缩略图。我知道我要使用loadThumbnail方法,但我不知道如何做到这一点。

我写了这个:

for file in dropboxMetadata.contents {
        dbRestClient.loadThumbnail(file.path, ofSize: "s", intoPath: "https://api-content.dropbox.com/1/thumbnails/auto/")
}

但是我得到了一些错误:

error making request to /1/thumbnails/dropbox/star.jpg - (4) Error Domain=NSCocoaErrorDomain Code=4 "The operation couldn’t be completed.

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

Petesh有正确的想法。 intoPath是这些缩略图的目标目录。

试试这个:

    func createTempDirectory() -> String? {
    let tempDirectoryTemplate = NSTemporaryDirectory().stringByAppendingPathComponent("XXXXX")

    let fileManager = NSFileManager.defaultManager()

    var err: NSErrorPointer = nil

    // remove any previous temporary folder that's there, in case it's there
    fileManager.removeItemAtPath(tempDirectoryTemplate)

    if fileManager.createDirectoryAtPath(tempDirectoryTemplate, withIntermediateDirectories: true, attributes: nil, error: err) {
        return tempDirectoryTemplate
    } else {
        print("can't create temporary directory at \(tempDirectoryTemplate)")
        return nil
    }
}

上面的代码我找到了in this question

然后你可以改变你自己的代码来做类似的事情:

let temporaryDirectory = createTempDirectory()
for file in dropboxMetadata.contents {
        dbRestClient.loadThumbnail(file.path, ofSize: "s", intoPath: temporaryDirectory)
}

如果这样可行,那么您可以更改" intoPath"参数进入您认为更合适的任何目录。