Где данные CSV в ответ? - PullRequest
       6

Где данные CSV в ответ?

0 голосов
/ 01 ноября 2018

Я использую fetch, чтобы получить CSV со следующим:

const csv = await fetch('https://www.mysite-com/admin/order?_export_=page%3A1', {credentials: 'include'});

Вот распечатка csv:

CSV is:  Response {
  size: 0,
  timeout: 0,
  [Symbol(Body internals)]:
   { body:
      Gunzip {
        _readableState: [ReadableState],
        readable: true,
        _events: [Object],
        _eventsCount: 7,
        _maxListeners: undefined,
        _writableState: [WritableState],
        writable: false,
        allowHalfOpen: true,
        _transformState: [Object],
        bytesWritten: 0,
        _handle: [Zlib],
        _hadError: false,
        _writeState: [Uint32Array],
        _outBuffer:
         <Buffer 3c 21 44 4f 43 54 59 50 45 20 68 74 6d 6c 3e 0a 3c 68 74 6d 6c 3e 0a 3c 68 65 61 64 3e 0a 20 20 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d 22 75 74 66 ... >,
        _outOffset: 0,
        _level: -1,
        _strategy: 0,
        _chunkSize: 16384,
        _defaultFlushFlag: 2,
        _finishFlushFlag: 2,
        _nextFlush: -1,
        _info: undefined },
     disturbed: false,
     error: null },
  [Symbol(Response internals)]:
   { url: 'https://www.mysite-com/admin/auth/login',
     status: 200,
     statusText: 'OK',
     headers: Headers { [Symbol(map)]: [Object] } } }

chunkSize из 16384 соответствует размеру файла, который я загружаю. Но как извлечь данные из csv? Пробовал csv.text() с ошибкой.

UPDATE:

Попробовал ниже:

const csv = fetch('https://www.mysite-com/admin/order?_export_=page%3A1', {credentials: 'include'})
                             .then(r => r.text)
                             .catch(err => {
                              console.log("Error downloading order csv.", err);
                             });
if (csv) {
       fs.writeFile('./tmp/order/order.xls', csv, 'utf8', err => {
        console.log("Error saving downloaded order csv.", err);
      });

Возвращено Error saving downloaded order csv null

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

const csv = fetch('https://www.mysite-com/admin/order?_export_=page%3A1', {
    credentials: 'include'
  })
  .then(function(response) {
    return response.text;
  })
  .then(function(resText) {
    console.log(resText);
  });
0 голосов
/ 01 ноября 2018

fetch возвращает обещание Response. В этом ответе вы сможете вызвать await response.text(), чтобы получить строку.

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