Мне нужно загрузить файлы на мобильное устройство и сделать их доступными для других приложений (с помощью Android и iOS).Сохранить файл в общедоступном каталоге с помощью Cordova FileTransfer
Мне удалось загрузить файл на SD-карту (cordova.file.externalDataDirectory), но это только на Android, и даже тогда я не могу полагаться на каждое устройство, имеющее SD-карту.
Когда я загружаюсь в хранилище устройства (cordova.file.dataDirectory), файл является приватным для моего приложения и поэтому недоступен для других приложений. Файл можно открыть в InAppBrowser, но я предпочел бы использовать соответствующее приложение по умолчанию.
Есть ли способ получить доступ к общедоступной директории на всех устройствах?
Пути возвращаемые решения, предложенные в https://stackoverflow.com/a/21375812/3432305 являются как частные на Android ...
EDIT:
Я думаю, что я должен описать мой случай использования, так это яснее, что я хочу для достижения: я хочу открыть файлы с моего в чате приложения, используя соответствующее приложение по умолчанию (просмотрщик pdf, просмотрщик изображений и т. д.). Поскольку Cordova File Opener plugin принимает файлы только из локальной файловой системы, сначала нужно сохранить их. Но после этого они не обязательно должны быть доступны из-за пределов моего приложения ...
Hi, thx для вашего ответа! Это решает мои проблемы для Android по крайней мере :) Я отредактировал свой вопрос, чтобы еще больше описать свою проблему. Не могли бы вы проверить, что это ничего не изменило для iOS? Что касается iCloud, ссылка, которую вы указали, говорит, что она не хранит «Кэш, временные или большие загруженные файлы данных», поэтому я бы предпочел не использовать ее ... Кроме того, я разрабатываю гибридное приложение, поэтому я немного ограниченные вариантами плагинов Cordova. Но я считаю, что это очень распространенный вариант использования, поэтому должно быть простое решение для iOS тоже. – kolli
Открытие файла в приложении по умолчанию полностью отличается от совместного использования файлов между конкретными приложениями , и намного проще. [cordova-plugin-file-opener2] (https://github.com/pwlin/cordova-plugin-file-opener2) будет делать именно то, что вам нужно для iOS и Android. Просто следуйте приведенным ниже примерам о том, где сохранить файлы для каждой платформы, и если у вас возникла проблема, разместите сообщение на странице плагина Github. – DaveAlden
Я также почувствовал, что это должна быть легкая задача. Тем не менее, я не мог найти хороший пример для iOS. Теперь я попробовал использовать «cordova.file.applicationStorageDirectory» и, похоже, работает (хотя в документации говорится, что это только для чтения ...). Повторите попытку позже, используя 'cordova.file.cacheDirectory', но я думаю, это должно быть хорошо. спасибо! – kolli