2010-10-29 14 views
6

Ich erhalte NUR einen "Error # 3000: Illegal path name", wenn ich versuche, eine Datei zu öffnen, die sich im App-Ordner der Luft befindet. Wenn sich die Datei irgendwo außerhalb des App-Ordners befindet, funktioniert sie.openWithDefaultApplication scheitert an Dateien im Anwendungsordner

Wenn ich versuche, die gleiche Datei zu bekommen und es an einen anderen Ort zu kopieren, geht es gut.

Warum das? Etwas Besonderes zu tun, wenn ich Dateien öffnen möchte, die sich im Appordner befinden? Es funktioniert auch nicht im Debug-Modus - bin-debug.

Grüße, Temo

Antwort

11

Nachdem das Dokument ein paar Mal lesen sah ich, dass dies nicht möglich ist (es ist kein Fehler, es ist ein Feature!?!)

Opening files with the default system application

Sie Die Methode openWithDefaultApplication() kann nicht mit Dateien verwendet werden, die sich im Anwendungsverzeichnis befinden.

So mache ich das statt:

file.copyTo(tempFile); 
tempFile.openWithDefaultApplication(); 

Nicht so schön, aber es funktioniert.

+1

Sie sind ein Lebensretter. Ich habe mir den Kopf verkrampft und versucht, diese kryptische Fehlermeldung herauszufinden. Sie würden denken, dass sie ein wenig hilfreicher in der Fehlermeldung wären: "Yo, Entschuldigung, aber Sie können keine Dateien in Ihrem App Storage Directory ablegen, Kumpel." Oder etwas in diesem Sinne. –

Verwandte Themen