Как управлять responseType = 'blob' с помощью Angular5 во внешнем интерфейсе

Я хочу загрузить doc.pdf с текстом 'My first file download'. Когда я пытаюсь загрузить в zip файл, в моем файле есть файлы files.xml Как на этой фотографии Как управлять responseType = 'blob' с помощью Angular5 во внешнем интерфейсе

Вы можете подсказать мне, как преобразовать этот файл в pdf?

Пожалуйста, следуйте моему коду:

Component.ts

  export(id: string) {
    this.ss.download(id)
      .subscribe(data => { console.info(`excel data: ${data}`); FileSaver.saveAs(data, 'doc.zip') },
        error => console.info('Error downloading the file.'),
        () => console.info('Completed file download.'));
  }

service.ts:

  public download(id: string): Observable<any> {
    //let oReq = new XMLHttpRequest();
    // let options = new RequestOptions({ responseType: ResponseContentType.Blob });
    let params = new URLSearchParams();
    let headers = new Headers();
    headers.append('x-access-token', this.auth.getCurrentUser().token);
    headers.append('sale_id', id);
    headers.append('Content-Type', 'application/json;charset=UTF-8');
    headers.append('responseType':'arraybuffer');
    return this.http.get(Api.getUrl(Api.URLS.download), {
      headers: headers,
      responseType: ResponseContentType.Blob,

    }).map(res => res.blob()) 
  }

Обязательные параметры: Метод get. Параметры необходимо отправить в заголовке.

Вы уверены, что изначально это файл PDF? Содержимое, которое вы обнаружите, открывая его в виде ZIP, довольно четко указывает на DOCX, который является современным форматом MS-Word.

Shnugo 25.04.2018 12:00

На самом деле мой файл находится в формате .docx. Я хочу загрузить его в формате pdf или docx.

OnnaB 25.04.2018 12:03

Итак ... Если это в docx, почему вы не можете просто взять его как есть?

Shnugo 25.04.2018 12:06

Потому что, когда я загружаю .docx, возникает такая проблема: stackoverflow.com/questions/50005473/…

OnnaB 25.04.2018 12:16

Когда я пытался загрузить эту форму документа, почтальон, когда я нажимаю send, отправляю мне PK z—LO‹Ý< _rels/.rels<?xml ..., когда я нажимаю почтальон send and download, отправляю мне настоящий файл.docx

OnnaB 25.04.2018 12:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
1 034
1

Ответы 1

Не знаю, поможет ли это вам (я не очень увлечен вашими инструментами)

Загружаемый файл имеет формат DOCX. Это современный формат MS-Word. Этот формат - даже если он имеет другое расширение - представляет собой простой файл ZIP.

PK в начале любого заархивированного файла - это магический код, сообщающий потребителям, что это за файл.

«PK» восходит к «PKWARE» и указывает на Фила Каца, который был одним из тех, кто изобрел формат zip.

Заархивированный файл, как и любой другой файл, занимает всего несколько байтов. Потребитель должен знать, как это читать и интерпретировать.

Вы должны попытаться записать поток байтов в файл точно в том виде, в котором вы его получили, назовите его «Однако.docx» и попытайтесь открыть его с помощью MS-Word.

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

Не пытайтесь переносить символы с скопировать и вставить в какой-либо редактор. В таких файлах есть несколько невидимых символов, которые могут быть потеряны ... Возьмите байты и сохраните их так же, как вы их получили (то же самое, что и при сохранении JPEG).

Другие вопросы по теме