Невозможно вызвать "загрузку" с использованием 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)
}