Как отправить форму «multipart / form-data» и получить значения текстового поля с сервера Node.js? - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь загрузить файл, используя multer.Я могу загрузить файл, но каким-то образом не могу получить значения текстового поля внутри формы с содержимым / типом "multipart / form-data".

<div class="container">
    <h1>File Upload</h1>
    <form action="/upload" method="POST" enctype="multipart/form-data" >
      <div class="file-field input-field">
        <div class="btn grey">
          <span>File</span>
          <input name="myImage" type="file" multiple="multiple"> 
        </div>
        <div class="file-path-wrapper">
          <input class="file-path validate" type="text">
        </div>        
      </div>
      <div ><input type="text" name="test"/></div>
      <button type="submit" class="btn">Submit</button>
    </form>
</div>

Как получить значение текстового поля

<div ><input type="text" name="test"/></div>

используя body.parser?при попытке

const {test} = req.body;

выдается ошибка TypeError: Невозможно прочитать свойство 'test' из undefined.

1 Ответ

0 голосов
/ 30 марта 2019

Вам необходимо включить анализатор тела на сервер вашего узла:

const bodyParser = require('body-parser');
app.use(bodyParser.json());       
app.use(bodyParser.urlencoded({ extended: true})); 

Тогда у вас должен быть доступ к данным формы в теле, т.е. req.body.test.

...