首页 > 解决方案 > 如何修复 ENOENT:没有这样的文件或目录?

问题描述

我正在编写节点 js 代码以将图片从 Raspberry Pi 上传到我的 Google Drive

我试图上传在同一文件夹中生成的图像文件。节点 js 似乎忽略了该文件。尽管文件存在,但它始终返回 ENOENT。我已经手动验证了文件的存在。路径和文件名是正确的。我还通过将文件名打印到控制台进行了验证,它似乎匹配。

    var fileName1 = Date.now();
    const path = require('path');
    const fs1 = require('fs');
    var fN = fileName1+".jpg";
    console.log("Only filename : "+fN);
    const finalPath = path.join(__dirname, fN);
    console.log("Final filename : "+finalPath);
    var media = {
            mimeType: 'image/jpeg',
            //PATH OF THE FILE FROM YOUR COMPUTER
            body: fs1.createReadStream(finalPath)
    };

输出

Only filename : 1571724785329.jpg
Final filename : /home/pi/nodecode/1571724785329.jpg
events.js:174
      throw er; // Unhandled 'error' event
      ^
Error: ENOENT: no such file or directory,open
'/home/pi/nodecode/1571724785329.jpg'

标签: node.jsraspberry-pi3

解决方案


非常感谢大家分享他们的观点并尝试为我找出答案。我发现了问题。当 nodejs 试图定位文件时,该文件没有被创建。文件创建和上传是并行进行的。所以我用python代替了nodejs。


推荐阅读