文件无法复制到另一个目录(fs.access 和 copyFile)

File Failing to copy to another directory (fs.access and copyFile)

我正在尝试将 pdf and/or 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\files95121011192_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' }

我搜索了一下,但似乎找不到任何与此代码 有时 有效的原因有关的任何内容。

感谢您的帮助!

检查您的 src,并确保将文件名传递给此函数的代码工作正常!

检查文件夹是否存在,文件将被复制到哪里。 因为复制功能不会添加新文件夹。因此,如果您从 "src/1/2.txt" 复制到 "dest",并且 dest 文件夹中没有另一个名为“1”的文件夹,则“2.txt”的复制过程将不起作用.