Dropbox Api

05/12/2015 01:29 Warnuk3r#1
Sers, ich will mit der Dropbox Api Bilder etc. herunterladen. Wenn ich im Verzeichnis / mir ein Bild runterladen möchte klappt es. Wenn ich in /Ordnername das selbe Bild nochmal probiere, dann wird die Datei (jpg) bei mir auf dem PC erstellt, jedoch ist es leer. Ergibt für mich irgendwie keinen Sinn. Wenn ich keinen Zugriff hätte etc. dann würde auch dementsprechend ein Error kommen.

Code:
        DbxEntry.WithChildren listing = client.getMetadataWithChildren("/Test");
        System.out.println("Downloading...");
        for (DbxEntry child : listing.children) {
        	if(child.isFile()) {
	            System.out.println("	" + child.name + ": " + child.toString());
	            FileOutputStream outputStream = new FileOutputStream(child.name);
	            try {
	                DbxEntry.File downloadedFile = client.getFile("/"+child.name, null,
	                    outputStream);
	                System.out.println("Metadata: " + downloadedFile.toString());
	            } finally {
	                outputStream.close();
	            }
        	}
        }
Wäre nett, wenn mir jemand sagen könnte, warum die Bilder leer sind.

EDIT:
Code:
 DbxEntry.File downloadedFile = client.getFile("/Test/"+child.name, null,
	                    outputStream);
Musste ich anscheinend doch nochmal Ordnername angeben, dachte man ist schon in /Test also nicht nötig. ;7

lg
05/12/2015 09:31 XxharCs#2
Man muss den ganzen Pfad bis zur Datei angeben, da du vom root bzw. "/" startest und dich ggf. hinunter in Unterverzeichnisse durch iterierst.

Weil sonst sucht er zB in deinem Fall nach /TestDateiXYZ.jpg
Korrekt wie du schon im Edit draufgekommen bist wär /Test/DateiXYZ.jpg wobei die Datei in deinem Fall child.name ist