gpt4 book ai didi

Node.js fs.stat [类型错误 : path must be a string] on passing Buffer

转载 作者:太空宇宙 更新时间:2023-11-04 00:23:52 25 4
gpt4 key购买 nike

根据fs.stat文档here , stat 函数可以接受文件或缓冲区的字符串路径。

但是当我传递缓冲区时,我收到错误:

[TypeError: path must be a string]

下面是代码。

exports.importNow = function (req, res) {
try {
fs.stat( req.files.csv.buffer, function (err, stat) {
if( err == null ) {
console.log(2);
return resolve();
} else {
console.log(3);
return reject( [validation_errors.FILE_DOES_NOT_EXIST, err] );
}
});

} catch ( err ) {
console.log(5);
console.log(err);
return reject( [validation_errors.FILE_DOES_NOT_EXIST, err] );
}
}

有人可以帮我找出原因吗?或者我错过了什么?谢谢。

最佳答案

您使用的是旧版本的 Node.js(最新版本是 v7.9.0,最旧支持的版本是 v6.0.0)。

自 v6.0.0 ( see changelog ) 起,文件系统 API 仅支持缓冲区。对于早期版本,您需要将缓冲区转换为字符串:

fs.stat( req.files.csv.buffer.toString(), function (err, stat) {
// ...
});

您应该升级到 Node.js v6.0.0 或更高版本(如果可能的话,我建议这样做),或者使用 v4.6 的文档(因为您链接到的文档适用于最新版本,这将与您的版本不同)。

关于Node.js fs.stat [类型错误 : path must be a string] on passing Buffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43579899/

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