我正在尝试使graphql-upload正常工作,除了一个用例之外,它都运作良好。在我的uploadImage
突变解析器中,我正在检查图像记录是否已存在于数据库中,然后尽早返回而没有将文件上载到CDN。
如果我早早返回,则会收到以下错误消息:Request disconnected during file upload stream parsing.
,服务器崩溃。
如果如果图像已经存在,我不通过调用createReadStream
创建流,则不会收到错误消息。这是正确的方法吗?
async function uploadImage(root, { input }, ctx) {
const { image, hash } = input;
const { filename, mimetype, createReadStream } = await image;
const stream = createReadStream();
try {
let image = await Image.findOne({ hash }, ctx);
if (image) {
stream.destroy();
return { image, error: null };
}
// pipe stream to AWS & create DB record
return { image, error: null };
} catch(error) {
// error handling
return { image: null, error: error.message }
}
}