Jak mogę przesłać plik (plik graficzny, audio i wideo) z Androidem za pomocą interfejsu API Dropbox do Dropbox? Śledziłem samouczek na stronie Dropbox SDK Android i mogłem pobrać próbkę. Ale teraz zamiast String chcę przesłać rzeczywisty obiekt File i walczę.Korzystanie z interfejsu API Dropbox do przesyłania plików za pomocą Androida
Przykładowy kod działa bez żadnych problemów i wygląda następująco:
String fileContents = "Hello World!";
ByteArrayInputStream inputStream = new ByteArrayInputStream(fileContents.getBytes());
try {
Entry newEntry = mDBApi.putFile("/testing_123456.txt", inputStream, fileContents.length(), null, null);
} catch (DropboxUnlinkedException e) {
Log.e("DbExampleLog", "User has unlinked.");
} catch (DropboxException e) {
Log.e("DbExampleLog", "Something went wrong while uploading.");
}
Ale gdy próbuję ją zmienić i przesłać rzeczywiste plik z tym kodem:
File tmpFile = new File(fullPath, "IMG_2012-03-12_10-22-09_thumb.jpg");
// convert File to byte[]
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(tmpFile);
bos.close();
oos.close();
byte[] bytes = bos.toByteArray();
ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes);
try {
Entry newEntry = mDBApi.putFile("/IMG_2012-03-12_10-22-09_thumb.jpg", inputStream, tmpFile.length(), null, null);
} catch (DropboxUnlinkedException e) {
Log.e("DbExampleLog", "User has unlinked.");
} catch (DropboxException e) {
Log.e("DbExampleLog", "Something went wrong while uploading.");
}
nie mam sukcesów uzyskanie błędu DropboxException. Myślę, że coś, co próbuję przekonwertować obiekt File do strumienia bajtów, musi być złe, ale to tylko założenie.
Inny niż przykład String nie ma nic więcej udokumentowanego na stronie Dropbox dla Androida.
Dzięki za pomoc.
co jest mDBApi w tym kodzie? – TharakaNirmana
Wiem, że ta odpowiedź jest spóźniona, ale kto wie, może to uratować niektórych ludzi. Jest to zmienna globalna.To jest kod, który powinieneś dodać: prywatny DropboxAPI mDBApi; –
Yenthe
prywatny DropboxAPI mDBApi; –
nikki