【发布时间】:2017-05-18 15:34:16
【问题描述】:
我正在尝试将 pdf 和/或 word 文档从一个文件夹复制到另一个文件夹。下面的代码有时有效,但有时却无效。
app.post('/api/file_archive/:file_name', function (req, res) {
var file_name = req.params.file_name;
var src = 'public/uploads/files/' + file_name;
var dest = 'archived_files/files';
if(file_name != "") {
console.log("Entered fs access");
fs.access(dest, function(err) {
if(err)
fs.mkdirSync(dest);
copyFile(src, path.join(dest, file_name));
res.json({ message: 'file archived!'});
});
};
});
我目前收到此错误:
{ Error: ENOENT: no such file or directory, open 'C:\Users\duquetr\Documents\maize-and-blue-brief\public\uploads\files\1495121011192_Letter of Rec for RJ.pdf' at Error (native) errno: -4058, code: 'ENOENT', syscall: 'open', path: 'C:\\Users\\duquetr\\Documents\\maize-and-blue-brief\\public\\uploads\\files\\1495121011192_Letter of Rec for RJ.pdf' }
我搜索了一下,似乎找不到任何与此代码有时起作用的原因有关的任何内容。
感谢您的帮助!
【问题讨论】:
-
文件夹结构
archived_files/files是否存在? -
是的,确实如此!我有一个类似的功能来移动完美运行的图像文件。 (图像文件正在移动到 archived_files/images/)
-
你没有检查
src文件是否真的存在。 -
@robertklep 这是真的,但此代码将无法复制确实存在的文件。我还没弄明白为什么。
标签: javascript node.js file-upload mean-stack