Как я могу обрабатывать данные составной формы без использования каких-либо узловых модулей - PullRequest
1 голос
/ 25 апреля 2020

Я пытаюсь отправить файл изображения с помощью POST-запроса на сервер, где в теле запроса на выборку внешнего интерфейса я добавил тело в виде FormData, как это

let formdata = new FormData(form)
async function finalFetch(formdata){
  let postReq = await fetch('/api/fileupload', {method : 'POST', body : formdata})
  let result = await postReq.json()
  return result.url;
}

Теперь при отправке этого форма в бэкэнде Я обрабатываю данные, подобные этим

  req.on('data', (chunk)=>{
       console.log(chunk);
  })
  req.on('end', ()=>{
        // pseudo code, this will get replaced by something else
       res.write(JSON.stringify({
           msg : 'File Upload done',
           url : '/232'
  }));
      res.end();
 })

, и приведенная выше реализация дает мне Buffer, я понятия не имею, как записать файл на сервере из этого буфера

Я знаю, что существует множество модулей для обработки форм, таких как multer, express, грозный, но я не хочу использовать ни один из них, я пытаюсь понять, как работают эти пакеты. Я просто использую ядро ​​node js.

1 Ответ

0 голосов
/ 25 апреля 2020

После того, как буфер полностью получен, вы должны использовать модуль базового узла 'fs' для записи buf в файл.

const fs = require('fs');
fs.writeFile('file.name', buffer);

см. Документы fs.writeFile

...