#express #graphql #multipartform-data #node-fetch
#выражать #graphql #multipartform-данные #выборка узла
Вопрос:
Я пытаюсь переслать файл загрузки graphql через узловой сервер. В моем решателе graphql у меня есть:
async uploadFile ({ file }) {
const { createReadStream, filename } = await file;
const form = new FormData();
const fileBuffer = Buffer.from(JSON.stringify(file), 'utf-8');
form.append('file', fileBuffer, {
contentType: 'multipart/form-data',
filename: filename,
});
return fetch(`/someurl`, form)
.then(handleSuccess)
.catch(handleError)
}
Я просто хочу переслать файл, не сохраняя его в каталог загрузки. Ошибка равна 500, внутренняя ошибка сервера. Что я делаю не так?
Комментарии:
1. тип post, не требуется буферизация / jsoning … используйте поиск, найдите какой-нибудь учебник?
Ответ №1:
Я смог сделать эту работу, изменив запрос на выборку следующим образом:
const url = 'myurl'
const opts = {
method: 'POST',
body: form,
headers: {...form.getHeaders()}
}
const response = await fetch(url, opts)
const json = await response.json();