Задать вопрос
@fristyr
Начинающий вэб разработчик

Декодирование pdf base64 для нативной загрузки файла?

Всем доброго времени суток.
Пишем PWA прилоежние на Ionic Framework 4 + vue.js + capacitor для нативных функций.
Вот код который должен сохранять pdf файл который идет с АПИ в виде base64 строки.

downloadFile() {
      let fileTo = null;
      this.getProjectPd.project.files.forEach(file => {
        if (file.id == this.getProjectPd.idDocument) fileTo = file;
      });
      let link = document.createElement("a");
      link.href = fileTo.file;
      link.download = fileTo.name;
      link.target = "_blank";
      link.click();

      //Everything is written above not really important, it's related to the browser version
      // I have issues for the code below

      console.log( atob(fileTo.file.substr(28)) )
   
      try {
        Filesystem.writeFile({
          path: `test1/${fileTo.name}`,
          data: atob(fileTo.file.substr(28)),
          directory: FilesystemDirectory.Documents,
          encoding: FilesystemEncoding.UTF8
        });
      } catch (e) {
        console.error("Unable to write file", e);
      }
    },


Пытаюсь декодировать base64
data: atob(fileTo.file.substr(28)),

Вот результат в эмуляторе Android Studio
5e50208369532787561288.png

А это что выдает сам data: atob(fileTo.file.substr(28)), в консоли браузера.

5e5020bbdc1b4922332022.png

Вопрос как его правильно декодировать?
  • Вопрос задан
  • 273 просмотра
Подписаться 2 Сложный Комментировать
Решения вопроса 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
Просто читайте документацию.
Вам нужно убрать параметр encoding и просто передавать не раскодированную base64 строку на вход.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы