【发布时间】:2016-09-14 14:57:05
【问题描述】:
我对以下代码有 2 个问题,我为保存某些 REST 服务返回的 JSON 数据而编写的代码
问题 1
在将某些 REST 服务返回的数据写入文件之前,我遇到了一个问题。 问题不在于调用其余服务并获取数据。但就在它写入目录之前
当我调用该函数时,在跟踪中有一个错误“错误:EISDIR:对目录的非法操作,打开'/home/inttyl/data/'”
文件都正确保存在目录中 我不明白为什么会出现错误。
问题 2
第二个问题是输出,
我期待整个路径+文件名
成功写入文件:: /home/inttyl/data/file1.js
不仅仅是路径
成功写入文件:: /home/inttyl/data/
非常感谢您的帮助
这里是代码
services.forEach(function(currVal, index, array) {
fullUrl = url + currVal.path;
fullPath = dataDirectory + currVal.fileName;
console.log(" Processing writing to file:: " + fullPath);
request
.get(fullUrl)
.on("error", function(err) {
console.log(err);
})
.pipe(fs.createWriteStream(fullPath))
.on("error", function(err) {
console.log(" ERROR : wirting in file : " + fullPath);
console.log(" " + err);
})
.on("finish", function() {
console.log(" Successfully write to file: " + fullPath);
});
});
这是我得到的痕迹:
Processing writing to file:: /home/inttyl/data/file1.js
Processing writing to file:: /home/inttyl/data/file2.js
Processing writing to file:: /home/inttyl/data/file3.js
Processing writing to file:: /home/inttyl/data/fil4.js
Processing writing to file:: /home/inttyl/data/fil5.js
Processing writing to file:: /home/inttyl/data/file6.js
Processing writing to file:: /home/inttyl/data/file7.js
Processing writing to file:: /home/inttyl/data/fil8.js
ERROR : writing to the file :/home/inttyl/data/
Error: EISDIR: illegal operation on a directory, open '/home/inttyl/data/'
SUCCES writing to file:: /home/inttyl/data/fil8.js
SUCCES writing to file:: /home/inttyl/data/fil8.js
SUCCES writing to file:: /home/inttyl/data/fil8.js
SUCCES writing to file:: /home/inttyl/data/fil8.js
SUCCES writing to file:: /home/inttyl/data/fil8.js
SUCCES writing to file:: /home/inttyl/data/fil8.js
SUCCES writing to file:: /home/inttyl/data/fil8.js
SUCCES writing to file:: /home/inttyl/data/fil8.js
编辑
问题1解决了,我不好,因为在数据中,有一个文件名属性是无效的。
对于问题 2,我更新了跟踪,它总是打印最后一个文件名。你知道如何解决它吗?这是关闭的问题,但我不知道该怎么做。
【问题讨论】:
-
问题不在于给出的代码,而是
currVal给出的输入似乎是错误的。 -
services数组中是否有.或..文件名条目或具有空白文件名的条目?我建议您显示服务数组的console.log()。 -
@Sirko,确实在我的数据中,有一个文件名为空的条目!!!
-
@jfriend00 ,谢谢,我的错,数据缺少文件名!