Как получить данные, поступающие из post api из метода в переменную? - PullRequest
0 голосов
/ 23 февраля 2020

Я пытаюсь загрузить CSV-файл из angular и сохранить в mongodb, используя node js. перед сохранением этих данных в mon go я пытаюсь добавить имя набора данных и и year et c. node js

router.post('/dataset', (req, res)=>{
    let csvDataBuffer = JSON.stringify(req.body);
    let csvData = JSON.parse(csvDataBuffer).data;
    let csvDataString = csvData.toString("utf8");
    console.log(csvDataString);
    return csvtojson()
        .fromString(csvDataString)
        .then(json => {
            return res.status(201).json({csv:csvDataString, json:json})
        });`
});

я пытаюсь получить эту csvDataString вне метода

  fileUpload(files: FileList) {
    if (files && files.length > 0) {
      const file: File = files.item(0);
      const fileReader: FileReader = new FileReader();
      fileReader.readAsText(file);
      fileReader.onload = ev => {
        const csvdata = fileReader.result.toString();
        const body = {data: csvdata};
        return this.http.post('http://localhost:4000/dataset', body)
            .subscribe((data: any) => console.log(JSON.stringify(data.json)));
      };
    }
  }

1 Ответ

0 голосов
/ 23 февраля 2020
angular

    fileUpload(files: FileList) {
    if (files && files.length > 0) {
      const file: File = files.item(0);
      const fileReader: FileReader = new FileReader();
      fileReader.readAsText(file);
      let fileData;
      fileReader.onload = ev => {
        const csvdata = fileReader.result.toString();
        const body = {data: csvdata};
        return this.http.post('http://localhost:4000/dataset', body)
            .subscribe((data: any) => {
                    this.fileData = JSON.parse(JSON.stringify(data));
         });
      };
      // Manipulate your fileData here and then send it to your node 
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...