如何通过HTTPS API调用将数据数组写入文本文件?

时间:2019-02-02 07:20:59

标签: javascript node.js filesystems google-cloud-firestore

我从API实现了一个API,结果数据需要将其存储在.txt文件中。当API调用时,数据应在.txt文件写入。

此API调用包含从客户端接收的数据数组。将所得物添加元素的所有阵列成一个单一的阵列。要写入的Node.js文件中的单个阵列的需求。

我的代码是:

exports.Entry = functions.https.onRequest((req, res) => {
  var fs = require('fs');
  var a = ['6', '7', '8'];
  var b = ['22', '27', '20'];
  var eachrecord = [];

  for (var i = 0; i < a.length; i++) {
    eachrecord += a + b;
  }

  console.log("eachrecord is", eachrecord);

  //Writing each record value into file
  fileWriteSync('/Users/lahariareti/Desktop/deyaPaydevelopment/deyaPayandroidRETROFIT/functions/filewriting.txt');

  function fileWriteSync(filePath) {
    var fd = fs.openSync(filePath, 'w');
    var length = eachrecord.length;

    for (i = 0; i < length; i++) {
      var eachrecordwrite = fs.writeSync(fd, eachrecord[i] + '\n', null, null);

      console.log("hii", eachrecord[i]);
    }

    fs.closeSync(fd);
  }
});

当我部署和测试它显示了错误等:

  

“错误:ENOENT:没有这样的文件或目录时,开   '/Users/lahariareti/Desktop/deyaPaydevelopment/deyaPayandroidRETROFIT/functions/filewriting.txt'“

如何使用Node.js通过API调用将数据写入文件?

1 个答案:

答案 0 :(得分:0)

  

当我部署并测试

我想您在计算机上运行了该代码,因为路径/Users/lahariareti/Desktop/deyaPaydevelopment/deyaPayandroidRETROFIT/functions/存在,所以可以运行,然后又在另一台计算机上运行了代码,因此不再起作用了?

带有标志fs.open

w将尝试创建文件,但不会创建父目录。

要避免,而不使用相对路径提供的完整路径,可以使用的组合__dirnamepath.join像这样:

fileWriteSync(path.join(__dirname, '../functions/filewriting.txt'));