gpt4 book ai didi

javascript - 当我在 onFileUploadStart() 中包含逻辑时 Multer 不上传文件 - NodeJs

转载 作者:行者123 更新时间:2023-11-29 21:55:21 27 4
gpt4 key购买 nike

我正在尝试使用 multer 仅通过 Node 上传图像文件

文件上传成功:

app.use(multer({
dest: __dirname + '/public/uploads/',
onFileUploadData: function (file, data) {
console.log(data.length + ' of ' + file.fieldname + ' arrived');
},
onFileUploadComplete: function (file) {
console.log(file.fieldname + ' uploaded to ' + file.path);
}
}));

但我想将其限制为仅图像并添加一些用户身份验证(用户身份验证在下面的示例中尚未实现)。

当我启动包含 onFileUploadStart 的服务器时,它会记录到它上传的控制台,但是当我检查我的上传文件夹时,那里什么也没有。

app.use(multer({
dest: __dirname + '/public/uploads/',
onFileUploadStart: function (file) {
console.log(file.mimetype);
if (file.mimetype !== 'image/png' || file.mimetype !== 'image/jpg' || file.mimetype !== 'image/jpeg') {
return false;
} else {
console.log(file.fieldname + ' is starting ...');
}
},
onFileUploadData: function (file, data) {
console.log(data.length + ' of ' + file.fieldname + ' arrived');
},
onFileUploadComplete: function (file) {
console.log(file.fieldname + ' uploaded to ' + file.path);
}
}));

最佳答案

问题出在你的 bool 逻辑上。

这个:

if (file.mimetype !== 'image/png' || file.mimetype !== 'image/jpg' || file.mimetype !== 'image/jpeg')

应该改为:

if (file.mimetype !== 'image/png' && file.mimetype !== 'image/jpg' && file.mimetype !== 'image/jpeg')

关于javascript - 当我在 onFileUploadStart() 中包含逻辑时 Multer 不上传文件 - NodeJs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26702869/

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