Невозможно вызвать "загрузку" с использованием SwiftyDropbox

Я только начал разработку iOS и использую API Dropbox с SwiftyDropbox. Я пытаюсь загрузить текстовый файл в Dropbox, но получаю следующую ошибку:

Невозможно вызвать 'upload' со списком аргументов типа '(path: String)'

Вот мой код Что я делаю неправильно?

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 ответ

Решение

Вы не можете сделать это так, как вы это сделали. в 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)
}
Другие вопросы по тегам