Перейти к содержимому

Парсер форм

formParser — это middleware, который парсит multipart/form-data. Другие типы игнорируются.

Текстовые входные значения можно получить с помощью req.body, а загружаемые файлы — с помощью req.files.

import { formParser, UploadedFile } from '@shelepuginivan/lunatic'
import { writeFile } from 'fs/promises'
app.use(formParser)
app.post('/', async (req, res) => {
const [uploadedFile] = (req.files as Record<'file', UploadedFile[]>).file
await writeFile('new.txt', uploadedFile.data)
await res.status(200).json({ message: 'получены данные формы' })
})
app.listen(8000)

UploadedFile

UploadedFile — это интерфейс, в котором файлы доступны для извлечения из запроса. Он обладает следующими свойствами:

  • data: Buffer — содержимое загруженного файла
  • filename: string — имя загруженного файла
  • mimetype: string — MIME-тип загруженного файла