Экспресс или реагирование удаляет заголовки - PullRequest
0 голосов
/ 07 июня 2019

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

In Express ...

app.post('/api/createpdf', (req, res) => {        
    console.log("Handling...");

    let absoluteFilePath = ...

    res.setHeader('Content-disposition', 'attachment; filename=test');
    res.setHeader('a', 'b');
    res.setHeader('Content-types', 'application/pdf');
    res.setHeader('c', 'd');

    var filestream = fs.createReadStream(absoluteFilePath);
    filestream.pipe(res);
}

В реакции ...

createPdf_onClick() {

    console.log("Creating PDF...");

    fetch(`http://localhost:3001/api/createpdf`, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify({
                "a": "b",
                "c": "d"})})
        .then(response => {
                console.log("Headers...");
                response.headers.forEach((v, k, p) => {
                    console.log("k: " + k + ", v: " + v);
                });
                console.log("done");

        });
}

Вывод на консоль ...

App.js:38 Headers...
App.js:40 k: content-type, v: application/pdf
App.js:42 done

1 Ответ

0 голосов
/ 07 июня 2019

Заголовок ответа Access-Control-Expose-Headers указывает, какие Заголовки могут быть представлены как часть ответа, перечисляя их имена.

По умолчанию отображаются только 6 простых заголовков ответов:

  • Cache-Control
  • Content-Language
  • Content-Type
  • Истекает
  • Last-Modified
  • Pragma

Если вы хотите, чтобы клиенты имели доступ к другим заголовкам, вы должны перечислите их, используя заголовок Access-Control-Expose-Headers.

Access-Control-Expose-Headers

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