Хорошо, у меня заняло некоторое время, поэтому я публикую свой ответ для других.
Конечно, вам нужно указать место, где вы хотите сохранить его (но это очевидно), а затем создать OutputStream
:
String path = Environment.getExternalStorageDirectory().toString() + "/DCIM";
File file = new File(path, "test.txt");
FileOutputStream outputStream = null;
try {
outputStream = new FileOutputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
После этого мы создаем Metadata
объект и инициализируем его, а затем загружаем его, используя metadata.getPathLower()
.
try {
Metadata pathMetadata = client.files().getMetadata("/test.txt");
client.files().download(pathMetadata.getPathLower()).download(outputStream);
Log.e("METADATA", pathMetadata.toString());
} catch (DbxException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Странно, что getPathLower()
возвращает "test.txt"
, но когда мы набираем его в формате download()
, он возвращает
java.lang.IllegalArgumentException: String 'path' does not match pattern
("/test.txt"
не делает ' тоже не работает).
Мне понадобилось много времени, чтобы заставить его работать, поэтому я надеюсь, что мой ответ поможет кому-то сэкономить это время.
Удачного кодирования!