Как переслать составной запрос формы с помощью node-fetch

#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();