有没有办法通过节点访问Linux root('/')目录?现在,我有这样的事情:
multipart = require('connect-multiparty')
app.use(multipart({
uploadDir: config.tmp
}));
...
var file = req.files.file;
fs.renameSync(file.path, ".", function(err) {
if(err) console.error(err.stack);
})
但问题是file.path引用了Linux根目录下的文件夹而不是项目的根目录。
答案 0 :(得分:0)
您问题的最直接答案
有没有办法通过节点访问Linux root('/')目录?
是的,使用/
。 Node.js不应该给它任何特殊的处理。 Root是一个与其他目录一样的目录。
打开你的代码......
fs.renameSync
首先获取源,然后获取第二个目标。
您正在将文件重命名为.
,表示当前工作目录。我甚至不确定你是否可以将某些内容重命名为.
。我将从路径中提取文件名,然后将目标设置为根目录加上该文件名。
如何访问根目录,如您所说,/
,使用/
。
顺便说一句,为什么你使用renameSync
进行回调而没有回复呢?根据文档,这是无效的。它与回调异步,或者没有回调同步。所以你的回调可能没有解雇。
var file = req.files.file;
fs.rename(file.path, '/' + path.basename(file.path), function(err) {
if(err) console.error(err.stack);
});
顺便说一句,我必须强烈反对将文件写入Linux根目录的应用程序,原因有很多: