Я пытаюсь заставить 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 }
}
}