如何在 Sequelize 中检索 file/image
How to retrieve a file/image in Sequelize
我正在使用 sequelize,我已成功将文件上传到文件夹并将其名称保存在 database.Now 我想在 postman.I 中检索图像 我正在获取图像名称时我使用 get request.How 来获取存储在上传文件夹中的实际图像。
下面是我的代码。
middleware/upload.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;
route/user.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;
controller/user.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);
});
};
这很简单,您必须将以下代码放入 app.js 或 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.
所以现在当我们上传图片(比方说 sample.png)时,它将存储在上传文件夹中,并且可以在 url http://localhost:3000/uploads/sample.png
的网页上访问
我正在使用 sequelize,我已成功将文件上传到文件夹并将其名称保存在 database.Now 我想在 postman.I 中检索图像 我正在获取图像名称时我使用 get request.How 来获取存储在上传文件夹中的实际图像。
下面是我的代码。
middleware/upload.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;
route/user.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;
controller/user.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);
});
};
这很简单,您必须将以下代码放入 app.js 或 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.
所以现在当我们上传图片(比方说 sample.png)时,它将存储在上传文件夹中,并且可以在 url http://localhost:3000/uploads/sample.png