无法使用SwiftyDropbox调用“上传”

时间:2017-10-14 03:05:07

标签: swift dropbox dropbox-api swiftydropbox

我刚刚开始iOS开发,我正在使用带有SwiftyDropbox的Dropbox API。我正在尝试将文本文件上传到Dropbox,但我收到以下错误:

无法使用类型为'(path:String)'

的参数列表调用'upload'

这是我的代码。我做错了什么?

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    if let authResult = DropboxClientsManager.handleRedirectURL(url) {
        switch authResult {
        case .success:
            print("Logged into Dropbox successfully.")
        case .cancel:
            print("Authorization canceled.")
        case .error(_, let description):
            print("Error: \(description)")


        }

        let client = DropboxClientsManager.authorizedClient

        client.files.upload(path: "/hello.txt").response { response, error in
            if let metadata = response {
                println("Uploaded file name: \(metadata.name)")
                println("Uploaded file revision: \(metadata.rev)")

        let client = DropboxClientsManager.authorizedClient
        client?.files.createFolderV2(path: "/Auction_Upload").response { response, error in
            if let response = response {
                print(response)
            } else if let error = error {
                print(error)
            }
        }
    }
    return true
}

1 个答案:

答案 0 :(得分:1)

你不能像你做的那样去做。在path字段中,您需要添加要添加文件的路径。然后你需要传递内容。这样做是这样的:

let client = DropboxClientsManager.authorizedClient
let fileData = "Some test text to upload".data(using: String.Encoding.utf8, allowLossyConversion: false)!

let request = client?.files.upload(path: "/test/path/in/Dropbox/account", input: fileData)
    .response { response, error in
        if let response = response {
            print(response)
        } else if let error = error {
            print(error)
        }
    }
    .progress { progressData in
        print(progressData)
}