Загрузка файла изображения с помощью Express.js, React и MySQL - PullRequest
0 голосов
/ 28 февраля 2019

Мне нужно создать страницу, на которой конкретный пользователь (в данном случае администратор) может загрузить изображение, сохранить его в моей базе данных mySQL, а также в папке «uploads» в Express.Кроме того, мне нужен способ отобразить изображение позже, чтобы другие пользователи могли видеть его при входе в систему. Существуют ли какие-либо полезные пакеты в NPM, которые облегчили бы эту задачу?Или есть способ сделать это через ванильный React и Express?

1 Ответ

0 голосов
/ 28 февраля 2019

Попробуйте следующий пакет для узла - https://www.npmjs.com/package/multer

var multer = require('multer');
const storage = multer.diskStorage({

  destination: function (req, file, cb) {

    cb(null, appRoot+"/Uploads")

  },
  filename: function (req, file, cb) {

    cb(null, commonFunctions.generateAccessToken(90)+'.'+file.originalname.split('.')[1])

  }

})
global.upload = multer({storage: storage});

Затем в ваших маршрутах добавьте промежуточное ПО для загрузки -

router.post("/addPersonalDetail", [upload.single("profile_pic") ], Controllers.serviceController.addPersonalDetail);

В вашем контроллере одно имя файла доступно через -

data.profile_pic_name = (request.file) ? request.file.filename : "";

Несколько файлов доступны через -

request.files[0].filename
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...