не могу разобрать данные формы в expressjs - PullRequest
0 голосов
/ 11 апреля 2020

пытается отправить файлы на мой сервер узла, но я не знаю, как его получить

код клиента:

document.getElementById("button").addEventListener("click", upload)

function upload(){
   var fd = new FormData();

   var files = document.getElementsByName("files")

   fd.append('files', files)

   var options = {
      method: 'post',
      body: fd
   }
   fetch('/api', options)
}

во вкладке параметров запроса я нахожу

----------------------------- 171406265536105954961883833675

Content-Disposition: form-data; name = "files"

[объект NodeList]

----------------------------- 171406265536105954961883833675 -

код сервера с использованием body-parser:

var express = require('express')
var bodyParser = require('body-parser')
var app = express();

app.listen('3000', () => console.log('listenning on port 3000'))

app.use(express.static('./public'))

app.use(express.urlencoded({ extended: true }))


app.get('/', function (req, res) {})

app.post('/api', function (req, res) {
   console.log(req)
   res.send('Hello World')
})

консольные журналы body: {}

код сервера с использованием express -формируемо:

var express = require('express')
var formidable = require('express-formidable')
var app = express();

app.listen('3000', () => console.log('listenning on port 3000'))

app.use(express.static('./public'))

app.use(formidable())


app.get('/', function (req, res) {})

app.post('/api', function (req, res) {
    console.log(req)
    res.send('Hello World')
})

журналы консоли fields: {files: '[object NodeList]'}, files:{},

...