gpt4 book ai didi

node.js - 从 Nodejs 传递错误但未收到正确的错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:19:27 24 4
gpt4 key购买 nike

这是我的代码,当扩展名不是 mp4 时,我获取上传视频并检查它的扩展名,我想返回 else 语句并传递来自服务器的错误,但是当我收到此错误并且当我在 console.log 时,此错误打印服务器不响应 505 错误,当扩展名是 mp4 时,它工作正常。

const videoStorage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, config.videoStorage);
},
filename: function (req, videoFile, cb) {
if (path.extension(videoFile.originalname) !== '.mp4') {
const name = `${videoFile
.fieldname}-${Date
.now()}_${
videoFile.originalname}`;
return cb(null, name.replace(/\s/g, ""));
} else {
return cb(new Error("sorry"));
}
}
});

MediaService
.uploadVideo(formData, this.getUploadProgress)
.then(data => {
let order = {
...this.state.project
};
if (!order.project) {
order = {
project: {
mediaId: data
}
};
}
order.project.mediaId = data;
console.log("videoid added ===", order);
this.setState({uploading: false, videoId: data, isValid: true, project: order});

message.success("Video uploaded successfully");
})
.catch(error => {
message.error(error);
this.setState({message: error, uploading: false});
});
};

最佳答案

您可以像这样传递标志,而不是抛出错误:

return cb({success:false,message:"false"});

您可以在上传者的成功 promise 中访问此内容。

因为当你说new Error()时,我认为它会在服务器端抛出一个错误,并且无法向客户端发送响应。这就是为什么你在客户端没有得到响应。

关于node.js - 从 Nodejs 传递错误但未收到正确的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59846668/

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