gpt4 book ai didi

javascript - 谷歌云端硬盘 API : ENOENT - but my file is just in the same directory

转载 作者:行者123 更新时间:2023-12-03 01:46:49 25 4
gpt4 key购买 nike

ENOENT - 但我的文件位于同一目录中......大家好,我尝试使用 API 将文件birds.mp3 发送到我的Google 云端硬盘。该文件必须通过要发送的函数来访问。

尽管我尝试发送的文件与相关代码位于同一文件夹中,但我的控制台返回了我:

events.js:183

throw er; // Unhandled 'error' event

^

Error: ENOENT: no such file or directory, open './birds.mp3'

这是我的树:

-- folder
|-- birds.mp3
|-- quickstart.js

这是我的 Quickstart.js

module.exports.insertDrive = function (req) {
console.log("callback reached.")
var url = req.body.url;
var folderId = 'id';
var fileMetadata = {
'name': req.body.word,
parents: "id"
};
var media = {
mimeType: 'audio/*',
body: fs.createReadStream("./birds.mp3") // PATH FUNCTION HERE
};
drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
}, function (err, file) {
if (err) {
// Handle error
console.error(err);
} else {
console.log('File Id: ', file.id);
}
})};

我不明白为什么无法访问我的文件。我尝试了一些技巧,例如 path.resolve 等,我尝试将birds.mp3推送到多个文件夹(如果有)中,但失败了。

谢谢。

最佳答案

如果您尝试从与当前模块相同的目录加载文件并将其传递给 Google API,请使用 __dirname 而不是 ././ 使用当前工作目录,该目录取决于整个程序的调用方式,并且不会指向您的模块目录。

因此,如果目标文件与您的模块位于同一目录中,则更改此:

fs.createReadStream("./birds.mp3")

对此:

fs.createReadStream(path.join(__dirname, "birds.mp3"));

关于javascript - 谷歌云端硬盘 API : ENOENT - but my file is just in the same directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50595538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com