node.js - 如何修复 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'
解决方案
非常感谢大家分享他们的观点并尝试为我找出答案。我发现了问题。当 nodejs 试图定位文件时,该文件没有被创建。文件创建和上传是并行进行的。所以我用python代替了nodejs。
推荐阅读
- spring-boot - 在 QuartzJobBean 扩展类中通过依赖注入获取 NULL 指针
- import - 将数据从 Google Drive 文件夹导入 Power BI
- angular - 将管道应用于数组但保留原始索引
- tsql - 使用子查询填充 IN 列表
- ios - 在 iOS 12 上的 scrollView.contentInset 之后,scrollView.setContentOffset 不起作用
- vba - VLookup 结果未显示
- java - signing.properties 错误(系统找不到指定的文件)
- javascript - apisauce (axios wrapper) - 我可以处理响应错误写入一次并自动调用而不是手动添加 if else
- delphi - 防止“刷出” TListBox 项
- swift - URLRequest 相等性不包括 httpBody