Загрузка файла png из fileoutputstream - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь загрузить файл png на компьютер, который принимается как файл outputstream. Я пытаюсь этот код:

var userid = this.userid;
  let link = null;
  function reqListener() {
    if (this.responseText !== undefined) {
       link = document.createElement("a");
      var blob = new Blob([this.responseText], { type: item.type });
      link.download = item.name;
      link.href = (window.URL || window.webkitURL).createObjectURL(blob);
      debugger;
      link.click();

    }
  }
}

Он загружает файл, но не может быть открыт. Он получает ошибку, что он не может быть загружен как PNG. Он работает с другими типами файлов, но не работает с файлами изображений. Как я могу справиться с этим?

1 Ответ

0 голосов
/ 09 января 2019
link.setAttribute('href', 'data:[<mediatype>][;base64],<data>');

Типы носителей для изображений

  • изображение / GIF
  • изображение / JPEG
  • изображение / PNG
  • изображение / SVG + XML
  • image / x-icon, image / vnd.microsoft.icon (для значков Windows)

Base64

данные:, Hello% 2C% 20World

Простые, текстовые / простые данные

данные: текст / равнина; base64, SGVsbG8sIFdvcmxkIQ% 3D% 3D

версия вышеуказанного кода в кодировке base64

Что тебе нужно?

Вам нужна эта строка для атрибута href,

link.setAttribute('href', `data:image/png;base64,${btoa(this.responseText)}`)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...