我尝试使用节点和/tmp
模块将文件从fs
文件夹移动到我的家中。我尝试重命名方法,但mi tmp
分区与home
分开,所以我在https://github.com/nodejs/node-v0.x-archive/issues/2703读到我的问题是分区,所以我从renamme转到管道方法,但是当我尝试移动文件,其中包含一些文件夹,我收到以下错误:
Uncaught Exception:
Error: EISDIR: illegal operation on a directory, open '/tmp/torrentPlayer/2f9505e50a48838c7f769c707ed9e29cee2f03ba'
at Error (native)
我之前创建了子目录树,但是没有工作,我不知道我做错了什么。
我的代码是:
var originalPath = "/tmp/originalFolder";
var savePath = "~/someFolder"
const fs = require('fs');
const mv = require('mv');
fs.readdir(originalPath, (err, files) => {
files.forEach(function (file){
var source = fs.createReadStream(originalPath+ '/'+file);
var newFile = fs.createWriteStream(savePath+'/'+file);
// console.log(+'\n'+newFile);
source.pipe(newFile);
source.on('end', function() { console.log(newFile); });
source.on('error', function() { console.log("err"); });
})
})
但是文件可能是包含其他目录的目录。