Ich muss Dateien auf meinem mobilen Gerät herunterladen und sie für andere Apps (mit Android und iOS) zugänglich machen.Datei mit Cordova FileTransfer in ein öffentliches Verzeichnis speichern
ich es geschafft, eine Datei auf der SD-Karte (cordova.file.externalDataDirectory) zum Download, aber das ist nur auf Android und selbst dann kann ich nicht auf jedem Gerät verlassen eine SD-Karte mit.
Wenn ich auf den Gerätespeicher (cordova.file.dataDirectory) herunterlade, ist die Datei privat für meine App und daher für andere Apps nicht zugänglich. Die Datei kann im InAppBrowser geöffnet werden, aber ich würde lieber die entsprechende Standard-App verwenden.
Gibt es eine Möglichkeit, einen Pfad zu einem Verzeichnis auf allen Geräten öffentlich verfügbar zu machen?
Die Wege durch die Lösung in https://stackoverflow.com/a/21375812/3432305 vorgeschlagen zurückgekehrt sind sowohl private als auf Android ...
EDIT:
Ich glaube, ich meinen Anwendungsfall beschreiben sollte, damit es klarer ist, was ich versuche, zu erreichen: Ich möchte Dateien von meinem in App-Chat mit der jeweiligen Standard-App (PDF-Viewer, Bildbetrachter etc.) öffnen. Da die Cordova File Opener plugin nur Dateien aus dem lokalen Dateisystem akzeptiert, muss ich sie zuerst speichern. Aber sie müssen nicht unbedingt von außerhalb meiner App nachher zugänglich sein ...
Hallo, Danke für Ihre Antwort! Das löst meine Probleme zumindest für Android :) Ich habe meine Frage bearbeitet um mein Problem weiter zu beschreiben. Könntest du bitte überprüfen, ob sich das für iOS ändert? In Bezug auf die iCloud, sagt der Link, dass Sie nicht "Cache, temporäre oder große heruntergeladene Datendateien" dort speichern, also würde ich es lieber nicht verwenden ... Außerdem entwickle ich eine Hybrid-App, also bin ich ein bisschen beschränkt auf die Optionen, die die Cordova Plugins bieten. Aber ich denke, das ist ein sehr verbreiteter Anwendungsfall, also sollte es auch für iOS eine einfache Lösung geben. – kolli
Das Öffnen einer Datei in der Standardanwendung unterscheidet sich grundlegend von der Freigabe von Dateien zwischen bestimmten Apps und viel einfacher. [cordova-plugin-file-opener2] (https://github.com/pwlin/cordova-plugin-fileopener2) erledigt genau das, was Sie für iOS und Android benötigen. Befolgen Sie einfach die Beispiele, wo Sie die Dateien für jede Plattform speichern können. Wenn Sie ein Problem haben, können Sie ein Problem auf der Github-Seite des Plugins veröffentlichen. – DaveAlden
Ich fand auch, dass dies eine leichte Aufgabe sein sollte. Trotzdem konnte ich kein gutes Beispiel für iOS finden. Ich habe es jetzt noch einmal versucht mit 'cordova.file.applicationStorageDirectory' und es scheint zu funktionieren (obwohl die Dokumentation sagt, es ist schreibgeschützt ...). Werde es später nochmal versuchen mit 'cordova.file.cacheDirectory', aber ich denke, es sollte in Ordnung sein. Danke! – kolli