Potrzebuję pobrać pliki z urządzenia mobilnego i udostępnić je innym aplikacjom (z systemem Android i iOS).Zapisz plik w publicznym katalogu przy użyciu Cordova FileTransfer
udało mi się pobrać plik na karcie SD (cordova.file.externalDataDirectory), ale istnieje tylko na Androida, a nawet wtedy nie mogę polegać na każdym urządzeniu posiadającym kartę SD.
Po pobraniu do pamięci urządzenia (cordova.file.dataDirectory) plik jest prywatny dla mojej aplikacji i dlatego nie jest dostępny dla innych aplikacji. Plik można otworzyć w InAppBrowser, ale wolałbym użyć odpowiedniej domyślnej aplikacji.
Czy istnieje sposób, aby uzyskać ścieżkę do katalogu publicznie dostępnego na wszystkich urządzeniach?
Ścieżki zwracane przez rozwiązanie zaproponowane w https://stackoverflow.com/a/21375812/3432305 są zarówno prywatne na Androida ...
EDIT:
myślę, że powinienem opisać mój przypadek użycia, więc jest to bardziej przejrzyste, co usiłuję Aby osiągnąć: Chcę otworzyć pliki z mojego na czacie aplikacji przy użyciu odpowiedniej domyślnej aplikacji (przeglądarki plików PDF, przeglądarki obrazów itp.). Ponieważ Cordova File Opener plugin akceptuje tylko pliki z lokalnego systemu plików, muszę je najpierw zapisać. Ale niekoniecznie muszą być dostępne poza moją aplikacją ...
Witam, thx za odpowiedź! To rozwiązuje moje problemy z Androidem przynajmniej :) Zmieniłem moje pytanie, aby lepiej opisać mój problem. Czy możesz sprawdzić, czy to coś zmieni dla systemu iOS? Jeśli chodzi o iCloud, podany link mówi, że nie przechowuję tam "pamięci podręcznej, tymczasowych lub dużych pobranych plików danych", więc wolałbym go nie używać ... Poza tym tworzę aplikację hybrydową, więc jestem trochę ogranicza się do opcji dostępnych w wtyczkach Cordova .. Ale uważam, że jest to bardzo powszechny przypadek użycia, więc powinno być również łatwe rozwiązanie dla iOS .. – kolli
Otwieranie pliku w domyślnej aplikacji jest zupełnie inne niż udostępnianie plików między konkretnymi aplikacjami i znacznie łatwiejsze. [cordova-plugin-file-opener2] (https://github.com/pwlin/cordova-plugin-file-opener2) zrobi dokładnie to, czego potrzebujesz dla iOS i Androida. Wystarczy postępować zgodnie z przykładami, gdzie zapisać pliki dla każdej platformy, a jeśli masz problem, opublikuj problem na stronie Github wtyczki. – DaveAlden
Czułem również, że powinno to być łatwe zadanie. Mimo to nie mogłem znaleźć dobrego przykładu dla iOS. Teraz spróbowałem jeszcze raz używając 'cordova.file.applicationStorageDirectory' i wydaje się, że działa (chociaż dokumentacja mówi, że jest tylko do odczytu ...). Spróbuję ponownie później, używając 'cordova.file.cacheDirectory', ale myślę, że powinno być dobrze. dzięki! – kolli