Dropbox 现在有一个绝对新的 API,它与旧 API 完全不同(这很有趣,为什么),但是 Internet 上没有任何实际示例,所以我在他们的示例中只找到了一些代码。这是它:
// Download the file.
try (OutputStream outputStream = new FileOutputStream (file)) {
mDbxClient.files ()
.download (metadata.getPathLower (), metadata.getRev ())
.download (outputStream);
}
我需要从远程文件夹下载文件到本地,所以我需要使用这个路径,例如:
.download ("Backups/backup.ab", "/storage/sdcard/Folder/backup.ab")
我试过了,但是报错
IllegalArgumentException: String 'rev' does not match pattern'
你知道吗,它可以是什么,metadata.getPathLower()
和 metadata.getRev()
方法是用来做什么的?我了解到,metadata
var 从 execute () 的第一个 argv 中获取,但是这个函数是做什么的?
非常感谢!
最佳答案
不确定是否适用于 android。我已经发布了以下方法,以防万一有人正在寻找 C# .net 解决方案。
private async Task Download(DropboxClient dbx, string folder, string file, string localFilePath)
{
using (var response = await dbx.Files.DownloadAsync(folder + "/" + file))
{
using (var fileStream = File.Create(localFilePath))
{
(await response.GetContentAsStreamAsync()).CopyTo(fileStream);
}
}
}
参数示例:
file = "YourFileName.pdf";
folder = "/YourDropboxFolderName";
localFilePath = @"C:\Users\YourUserName\YourFileName.pdf";
关于android - 如何使用新的 Dropbox API 下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44578034/