Estoy usando Sequelize y cargué con éxito un archivo en una carpeta y guardé su nombre en la base de datos. Ahora quiero recuperar la imagen en Postman. Obtengo el nombre de la imagen cuando uso la solicitud de obtención. Cómo hacerlo Obtengo la imagen real que se ha almacenado en la carpeta de cargas.
A continuación se muestra mi código.
middleware/subir.js
const multer = require("multer"); const imageFilter = (req, file, cb) => { if (file.mimetype.startsWith("image")) { cb(null, true); } else { cb("Please upload only images.", false); } }; var storage = multer.diskStorage({ destination: (req, file, cb) => { cb(null, "./uploads/"); }, filename: (req, file, cb) => { let name = `${Date.now()}-Shehryar-${file.originalname}` req.body.fingerPrints = name cb(null,name); }, }); var uploadFile = multer({ storage: storage, fileFilter: imageFilter }); module.exports = uploadFile;ruta/usuario.js
const { Router } = require('express'); const user = require('../controllers/user.controller.js'); const upload = require("../middleware/upload"); const user_router = Router(); user_router.post('/createUsers',upload.single("fingerPrints"),user.create); user_router.get('/getall', user.findAll); user_router.get('/get/:code', user.findById); user_router.put('/update/:code', user.update); user_router.delete('/delete/:code', user.delete); module.exports = user_router;controlador/usuario.js
exports.create = (req, res) => { let codeGenerate = Math.random().toString(36).substring(2,7); End_user.create({ code:codeGenerate, firstName: req.body.firstName, middleName: req.body.middleName, lastName: req.body.lastName, nickName: req.body.nickName, email: req.body.email, mobileNumber: req.body.mobileNumber, bloodGroup:req.body.bloodGroup, fatherName: req.body.fatherName, motherName: req.body.motherName, bForm: req.body.bForm, fingerPrint: req.body.fingerPrints }).then(user => { res.send({message :`User Created With Code ${user.code}`}); }).catch(err => { res.send(err.message); }); };Esto es simple, debe poner el código a continuación en su app.js o srever.js
app.use(express.static(__dirname + '/public')); app.use('/uploads', express.static('uploads')); // Above line would serve all files/folders inside of the 'uploads' directory // And make them accessible through http://localhost:yourport/uploads. Así que ahora, cuando cargamos una imagen (digamos muestra.png), se almacenará en la carpeta de carga y se podrá acceder a ella en la página web en la url http://localhost:3000/uploads/sample.png