2016-10-27 2 views
-4

Ich erstelle eine Hybrid-App mit Cordova Version 6.3. Unter Android möchte ich dem Benutzer eine Datei von ihrem Gerät auswählen. Grundsätzlich möchte ich eine Dateiauswahl und dann den Benutzer eine Datei auswählen, die auf dem Android-Telefon gespeichert ist.Create FileChooser für Android-Handy

Der aktuelle Eingabetyp = "Datei" funktioniert nicht. Es hat die Arbeit mit einer anderen Version von SDK (19) und cordova

Können Sie sich einen Hinweis oder einig einige Codebeispiele zeigen, wie ich diese Funktion implementieren kann

+0

Es gibt viele Plugins zur Verfügung .. https://github.com/MaginSoft/MFileChooser/https://github.com/don/cordova-filechooser funktioniert – Navneeth

+0

Der MfileChooser gibt keine Datei und don/Cordova -filechooser hat keine Möglichkeit, aus dem lokalen Android-Gerät zu wählen ... Hast du irgendwelche von ihnen zur Arbeit bekommen? – user2570135

+0

Versuchen Sie diese https://github.com/tigoe/BeginningNFC/tree/master/FileSender/plugins/com.megster.cordova.FileChooser Seine Arbeit für mich. – Navneeth

Antwort

1

Das <input type="file"> Element, wie Sie nicht auch funktionieren würde in iOS erwarten - es zeigt eine Liste von Fotos IIRC.

Ich schrieb meine eigene Routine, um durch die Verzeichnisse des Telefons (mit dem Plugin cordova-plugin-file) zu iterieren und die Dateien zu sammeln - siehe https://stackoverflow.com/a/29905718/346550. Nach dem Abrufen der Liste zeige ich die Einträge in einer ungeordneten Liste von Hyperlinks an. Sie konnten die Dateiergebnisse jedoch wirklich anzeigen, wie Sie es wollten.

+0

Ich habe den Code in Link aber Ich sehe die Dateien für den Download-Ordner nicht auf Android. Wie bekommen Sie diese Informationen? danke – user2570135

+0

Auf der SD-Karte ist es ein Unterverzeichnis von 'cordova.file.externalRootDirectory'. Ich bin mir nicht sicher, wo es sich auf dem Gerät selbst befindet (oder ob es sogar zugänglich ist). Das ist wahrscheinlich eine andere SO Frage. Hier sind einige weitere Details zu den Dateisystemlayouts - sie variieren von Plattform zu Plattform: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/#file-system-layouts – eb1

+0

I sollte hinzugefügt werden: in Android> 5 benötigen Sie auch Laufzeitberechtigungen, um einige Dateien/Verzeichnisse zu sehen. Siehe https://stackoverflow.com/questions/47143656/no-fileentry-results-returned-on-android-6 – eb1