пытается загрузить объект в виде файла JSON из данных Spring в угловых 4 - PullRequest
0 голосов
/ 05 июля 2018

У меня есть бэкэнд-сервис для данных Spring, который возвращает объект json в качестве base64, я получил эти объекты в front-end -Angular4- и начал декодировать его, чтобы загрузить его в файл

мой бэкэнд-сервис

ObjectMapper objectMapper = new ObjectMapper();
            // Set pretty printing of json
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
String json = objectMapper.writeValueAsString(entity);
byte[] data = json.getBytes();
returnedString = Base64.getEncoder().encodeToString(data);
String fileName = "filename=" + type.getTypeName() + ".json";
headers.add("Content-disposition", "attachment; " + fileName);

return ResponseEntity.ok().headers(headers).contentLength(returnedString.length()).contentType(MediaType.parseMediaType("application/json"))
                .body(returnedString); 

в Angular 4 я делаю это

  InitDownLoad() {
    this.ShowDownloadSpan = true;
    let url = this._serviceUrls.exportJson + '/' + this.recId + '/' + 1;

    this._serviceCall.downLoad(null, url, true).subscribe((res: any) => {
      let uri = "data:application/json" + ";base64,";
      downloadURI(uri + res._body, "types.json");
      this.ShowDownloadSpan = false;

    });


function
  downloadURI(uri, name) {
  var link = document.createElement("a");
  link.download = name;
  link.href = uri;
  document.body.appendChild(link);
  link.click();
  document.body.removeChild(link);
}

долгое время это работало нормально, неожиданно, когда я пытаюсь загрузить веб-страницу, вылетел сбой и я получил

Этот сайт недоступен Веб-страница в data: application / json; base64, [object ArrayBuffer] может быть временно недоступна или она может постоянно перемещаться на новый веб-адрес.

и в URL-адресе данные: application / json; base64, [объект ArrayBuffer]

Кто-нибудь может знать, почему это происходит и как я могу это решить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...