Мне нужно загружать файл на сервер (с инпута) и отправлять путь в БД
Для этого я использую библиотеку 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 что вот этот файл нужно сохранить на сервере?