【问题标题】:File Failing to copy to another directory (fs.access and copyFile)文件无法复制到另一个目录(fs.access 和 copyFile)
【发布时间】: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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-15
      • 2017-11-18
      • 1970-01-01
      • 2013-06-01
      • 2020-06-22
      • 2014-08-12
      • 2013-10-24
      相关资源
      最近更新 更多