Как сохранить данные .xls, полученные из http-запроса, в файл как в файле node.js - PullRequest
0 голосов
/ 16 февраля 2019

Я хочу создать файл XLS, используя данные, полученные из HTTP-запроса.Я попытался сохранить его с помощью FS.writeFile (), но безуспешно.

Я использую модуль request npm для выполнения HTTP-запроса:

request(url, function(err, res, data) {
    if(err || res.statusCode !== 200) return;
    fs.writeFileSync('test.xls', data);
});

Ответ:

 {
          "headers": {
            "content-type": "application/vnd.ms-excel",
            "transfer-encoding": "chunked",
            "connection": "close",
            "content-disposition": "attachment;filename=\"Detail_Tally.xls\"",
            "cache-control": "max-age=0",
            "x-content-type-options": "nosniff"
          },
          "request": {
            "uri": {
              "protocol": "https:",
              "slashes": true,
              "auth": null,
              "host": "testserver.com",
              "port": 443,
              "hostname": "testserver.com",
              "hash": null,
              "search": null,
              "query": null,
              "pathname": "/report/exportExcel",
              "path": "/report/exportExcel",
              "href": "https://testserver.com/report/exportExcel"
            },
            "method": "POST",
            "headers": {
              "content-type": "multipart/form-data; boundary=--------------------------896095632834245509104518",
              "content-length": 1393
            }
          }
        }

1 Ответ

0 голосов
/ 16 февраля 2019

Сработало после установки опции кодирования на ноль

request(url, {encoding: null}, function(err, res, data) {
    if(err || res.statusCode !== 200) return;
    fs.writeFileSync('test.xls', data);
});
...