Javascript 无法将文件复制到目录
我正在将.jpg文件复制到其他目录(C:\myFaceApp\dropbox\exprtedFaces) 我的源文件:C:/myFaceApp/dropbox/faces/Monika1/1404039d-2be3-43bc-b20b-35c0f4a5954b/1404039d-2be3-43bc-b20b-35c0f4a5954b_00-00-04_crop.jpg 我正在使用下面的代码块进行复制Javascript 无法将文件复制到目录,javascript,node.js,Javascript,Node.js,我正在将.jpg文件复制到其他目录(C:\myFaceApp\dropbox\exprtedFaces) 我的源文件:C:/myFaceApp/dropbox/faces/Monika1/1404039d-2be3-43bc-b20b-35c0f4a5954b/1404039d-2be3-43bc-b20b-35c0f4a5954b_00-00-04_crop.jpg 我正在使用下面的代码块进行复制 targetPath=opts.exportDir; //C:\myFaceApp\dropbo
targetPath=opts.exportDir; //C:\myFaceApp\dropbox\exprtedFaces
fs.createReadStream(req.query.facePath).pipe(fs.createWriteStream(targetPath));
res.write(JSON.stringify({ OK: 1 }));
res.end();
我遇到了这样的错误:
错误:EISDIR:目录上的操作非法,请打开“C:\myFaceApp\dropbox\exprtedFaces”您的问题是试图写入目录而不是文件
createWriteStream
将文件名作为参数。请尝试以下方法:
fs.createReadStream(req.query.facePath).pipe(fs.createWriteStream(path.join(targetPath ,"file.jpg")));
你应该给它一个非硬编码的名字,这只是一个例子。请查看路径模块以了解这一点。您的问题是试图写入目录而不是文件
createWriteStream
将文件名作为参数。请尝试以下方法:
fs.createReadStream(req.query.facePath).pipe(fs.createWriteStream(path.join(targetPath ,"file.jpg")));
你应该给它一个非硬编码的名字,这只是一个例子。查看路径模块。您应该复制有问题的代码不发送imageError
EISDIR
说明:此路径不是文件,而是目录。您也可以使用fs.copyFile您应该复制有问题的代码不发送imageErrorEISDIR
说明:此路径不是文件,但是一个目录。你也可以使用fs.copyFile,但我对一个视频文件做了同样的事情,那是一个为meI工作的文件。我不知道你以前做过什么,因为这不是问题的一部分,但是这就是createWriteStream
的工作原理。谢谢这个帮助如果它帮助解决了你的问题,请考虑接受这个答案。但是我对一个视频文件做了同样的事情,我的工作文件不知道你以前做过什么,因为这不是问题的一部分,但这就是createWriteStream
的工作原理。感谢此帮助如果它帮助解决了您的问题,请考虑接受此答案。