ERROR Error: ENOENT: no such file or directory, open when create a text file in node js
ERROR Error: ENOENT: no such file or directory, open when create a text file in node js
我是 node js 的新手,请帮我解决这个问题。
我想在节点 js 中创建一个文本文件。我正在为此使用以下代码段。
var d = new Date();
var filename = '../upload/' + d.getFullYear() + '-' + pad((d.getMonth() + 1).toString()) + '-' + pad((d.getDate()).toString()) + '.txt';
if (currentlogstreamfilename != filename) {
currentlogstreamfilename = filename;
console.log("Path: " + currentlogstreamfilename);
currentlogstream = fs.createWriteStream(currentlogstreamfilename, { flags: 'a' });
}
在本地,这工作得很好。但是在 docker 里面我得到了。
错误错误:ENOENT:没有那个文件或目录,打开'../upload/2018-11-07.txt'
任何解决方案..
不要使用 ../
这样的相对路径名。在您的应用程序中使用绝对路径。你可以说
filename = __dirname + '/upload + d.getYear() + ...
或者如果您想将此文件保存在父目录中,您应该首先获取 运行 进程根路径。你可以说:
filename = process.cwd() + 'uploads/' + d.getYear() + ...
谢谢大家。我使用节点路径如下。效果很好。
var path = require('path');
var filename = path.join(__dirname,'../upload/' + d.getFullYear() + '-' + pad((d.getMonth() + 1).toString()) + '-' + pad((d.getDate()).toString()) + '.txt');
我是 node js 的新手,请帮我解决这个问题。 我想在节点 js 中创建一个文本文件。我正在为此使用以下代码段。
var d = new Date();
var filename = '../upload/' + d.getFullYear() + '-' + pad((d.getMonth() + 1).toString()) + '-' + pad((d.getDate()).toString()) + '.txt';
if (currentlogstreamfilename != filename) {
currentlogstreamfilename = filename;
console.log("Path: " + currentlogstreamfilename);
currentlogstream = fs.createWriteStream(currentlogstreamfilename, { flags: 'a' });
}
在本地,这工作得很好。但是在 docker 里面我得到了。
错误错误:ENOENT:没有那个文件或目录,打开'../upload/2018-11-07.txt'
任何解决方案..
不要使用 ../
这样的相对路径名。在您的应用程序中使用绝对路径。你可以说
filename = __dirname + '/upload + d.getYear() + ...
或者如果您想将此文件保存在父目录中,您应该首先获取 运行 进程根路径。你可以说:
filename = process.cwd() + 'uploads/' + d.getYear() + ...
谢谢大家。我使用节点路径如下。效果很好。
var path = require('path');
var filename = path.join(__dirname,'../upload/' + d.getFullYear() + '-' + pad((d.getMonth() + 1).toString()) + '-' + pad((d.getDate()).toString()) + '.txt');