@maxemga

Как использовать multer и React?

Мне нужно загружать файл на сервер (с инпута) и отправлять путь в БД
Для этого я использую библиотеку multer и функцию:
const multer = require('multer')
const moment = require('moment')


const storage = multer.diskStorage({
    destination(req, file, cb) {
        cb(null, './uploads')
    },
    filename(req, file, cb) {
        const date = moment().format('DDMMYYYY-HHmmss_SSS')
        cb(null, `${date}-${file.originalname}`)
    }
})

const fileFilter = (req, file, cb) => {
    if (file.mimetype === 'image/png' || file.mimetype === 'image/jpeg' || file.mimetype === 'image/jpg') {
        cb(null, true)
    }
    else {
        cb(null, false)
    }
}

module.exports = multer({
    storage,
    fileFilter
})

Для нахождения файла и отправки запроса:
<form action="http://localhost:80/api/server/addArticle" method="POST" enctype="multipart/form-data">

И на сервере брал файл вот так:
router.post('/addArticle', upload.single('img'), async(req, res) => {


Но это без использования React, а сейчас я пишу на React и запрос на сервер у меня осуществляется с помощью fetch, а раньше нужный мне файл находился с помощью запроса action в form и в библиотеки multer по этому токену и ищется нужный файл, но как быть в моей ситуации, как сказать multer что вот этот файл нужно сохранить на сервере?
  • Вопрос задан
  • 242 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы