【发布时间】:2018-06-08 12:16:45
【问题描述】:
我正在尝试读取一些 xml 文件,当我在我的计算机 (OS X) 中测试代码时,它工作得非常好,没有问题,但是当我在 DigitalOcean 的 Ubuntu 16 服务器中测试代码时,我得到了没有...
我正在使用fs.watch(),是的,它与路由无关,因为程序知道目录中有一个新文件,但是当我尝试读取 console.log 时什么也没打印。我已经尝试过readFile() 和readFileSync()...
我正在使用scp将文件发送到目录
当我将文件捕获到目录中时,我得到了 eventType 日志,而 console.log("filename: ",filename) 给了我文件的名称,所以,这就是为什么我建议 fs.readFileSync() 是问题所在
有什么建议吗?
let dir = __dirname + '/../files/'
fs.watch(dir, 'utf8',(eventType, filename) => {
console.log("eventType: ", eventType)
if(eventType === 'rename' && filename) {
console.log("filename: ",filename)
fs.readFile(`${dir}${filename}`, 'utf8', (err, data) => {
if(err) console.log("error: ", err)
console.log(data)
})
// let data = fs.readFileSync(`${dir}${filename}`, 'utf8')
// console.log("DATA: ", data)<-- as I said, I've already tried with both, readFile() and readFileSync()
}
});
【问题讨论】:
-
fs.watch 会触发吗?你得到一些“eventType”日志还是没有?
-
是的,
fs.watch()正在工作并在我将新文件发送到目录时记录下来。并且console.log("filename: ", filename)毫无问题地向我发送了文件名。 @詹姆斯 -
也许发布你在日志中看到的内容,因为在你的问题中你说你什么也得不到。
-
我刚刚更新了帖子,@James
-
你试过
fs.readFile(path.resolve(__dirname, filename), 'UTF-8', callback);吗?我可能弄错了,但我认为 path.resolve 是获取文件路径的正确方法。
标签: javascript node.js ubuntu readfile fs