В моем проекте Ionic 5 у меня есть PDF, загруженный на устройство (физический iPhone Pro, симуляторы iOS, а также устройства Android).Преобразуется в Base64 и сохраняется в виде файла .txt.Я извлекаю файл следующим образом:
const options = {
path: path,
directory: FilesystemDirectory.Data,
encoding: FilesystemEncoding.UTF8
}
Filesystem.readFile(options)
.then(result => {
const jsonCast = JSON.parse(result.data)
const blop: Blob = this.convertBase64ToBlob(jsonCast)
resolve(blop)
})
Следующий шаг в моем коде - получить URL-адрес файла BLOB-объекта:
const fileURL = URL.createObjectURL(blob)
Теперь с помощью FileOpener Ionic native,когда я пытаюсь открыть файл с помощью:
this.fileOpener.open(blobURL, 'application/pdf')
, я получаю сообщение об ошибке, что File does not exist
.
⚡️ [log] - fileURL: blob:capacitor://localhost/ff4efd06-a313-44ce-b386-c756d456e72f
2019-09-23 17:06:19.267144-0700 App[25791:19944973] Path parameter not encoded. Building file URL encoding it...
2019-09-23 17:06:19.267326-0700 App[25791:19944973] looking for file at blob:capacitor:/localhost/ff4efd06-a313-44ce-b386-c756d456e72f -- file:///
⚡️ [log] - Error opening file {"status":"9","message":"File does not exist"}
Чего мне не хватает или как лучше подходить ксохранить файл PDF на жесткий телефон и получить, затем загрузить и отобразить его?Я пытался отправить его в браузер Safari, но плагин ожидает URL-адрес https
и тоже ловит.
Любая помощь очень ценится.
PS: Как уже упоминалось в моем вопросе,Я создаю приложение с конденсатором.Поэтому я ограничен тем, какие плагины Cordova я могу использовать.Спасибо, что учли это в своей помощи.