我刚刚开始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
}
答案 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)
}