Angular 6 - получить ответ CSV от httpClient

В этом случае, поскольку вы используете &&, a всегда будет оцениваться первым, потому что результат используется для определения того, следует ли коротко замыкать выражение.

Если a возвращает false, тогда b вообще не разрешается оценивать.

1
задан kadambari narotra 18 March 2019 в 12:14
поделиться

1 ответ

Чтобы получить приложение / поток октетов, вы должны установить arraybuffer в качестве типа ответа в Angular HttpHeaders.

Это метод обслуживания:

fetchOutput(): Observable<ArrayBuffer> {
    let headers = new HttpHeaders();

    const options: {
        headers?: HttpHeaders;
        observe?: 'body';
        params?: HttpParams;
        reportProgress?: boolean;
        responseType: 'arraybuffer';
        withCredentials?: boolean;
    } = {
        responseType: 'arraybuffer'
    };

    return this.httpClient
        .get('https://your-service-url.com/api/v1/your-resource', options)
        .pipe(
            map((file: ArrayBuffer) => {
                return file;
            })
        );
}

Это вызов метода обслуживания и функции saveAs:

this.yourService
    .fetchOutput()
    .subscribe((data: any) => {
        const blob = new Blob([data], { type: 'application/octet-stream' });
        const fileName = 'Your File Name.csv';
        saveAs(blob, fileName);
    })

Поскольку другие пользователи предлагают: 401 Несанкционированный - это обычно ошибка на стороне клиента из-за отсутствия учетных данных.

0
ответ дан Julien Ambos 18 March 2019 в 12:14
поделиться
Другие вопросы по тегам:

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