BlogImage
This commit is contained in:
parent
df0d19b106
commit
f8335cbfe9
|
@ -1,37 +1,12 @@
|
|||
const { log } = require("handlebars");
|
||||
const Blog = require("../models/Blog");
|
||||
const User = require("../models/User");
|
||||
const mongoose = require("mongoose");
|
||||
const GridFsStorage = require("multer-gridfs-storage");
|
||||
const Grid = require("gridfs-stream");
|
||||
const multer = require("multer");
|
||||
const MONGO_URI = `mongodb+srv://Cantilever:Cantilever@cluster0.dqxva.mongodb.net/myFirstDatabase?retryWrites=true&w=majority`;
|
||||
|
||||
const connect = mongoose.createConnection(MONGO_URI, {
|
||||
useNewUrlParser: true,
|
||||
useUnifiedTopology: true,
|
||||
});
|
||||
let gfs;
|
||||
connect.once("open", () => {
|
||||
// initialize stream
|
||||
gfs = Grid(connect.db, mongoose.mongo);
|
||||
gfs.collection("blogImages");
|
||||
});
|
||||
|
||||
module.exports.getAllBlogs = async (req, res, next) => {
|
||||
try {
|
||||
let blog = await Blog.find();
|
||||
if (blog) {
|
||||
gfs.files.find().toArray((err, files) => {
|
||||
//check if files exist
|
||||
if (!files || files.length == 0) {
|
||||
return res.status(404).json({
|
||||
err: "No files exist",
|
||||
});
|
||||
}
|
||||
// files exist
|
||||
res.json({ files, blogs: blog });
|
||||
});
|
||||
res.json({ blogs: blog });
|
||||
} else {
|
||||
console.log("Error in Blog", blog);
|
||||
return;
|
||||
|
@ -76,7 +51,7 @@ module.exports.addBlog = async (req, res, next) => {
|
|||
let blog = new Blog({
|
||||
title,
|
||||
body,
|
||||
image: req.file,
|
||||
image: req.file.location,
|
||||
date: new Date().toISOString(),
|
||||
author,
|
||||
});
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -28,6 +28,7 @@
|
|||
"mongoose": "^5.12.2",
|
||||
"multer": "^1.4.2",
|
||||
"multer-gridfs-storage": "^4.2.0",
|
||||
"multer-s3": "^2.9.0",
|
||||
"nodemailer": "^6.6.0",
|
||||
"nodemailer-smtp-transport": "^2.7.4",
|
||||
"passport": "^0.4.1",
|
||||
|
|
|
@ -2,26 +2,34 @@ const express = require("express");
|
|||
const router = express.Router();
|
||||
const BlogController = require("../controllers/blog");
|
||||
const isAuth = require("../middleware/requirelogin");
|
||||
const GridFsStorage = require("multer-gridfs-storage");
|
||||
const Grid = require("gridfs-stream");
|
||||
const multer = require("multer");
|
||||
const MONGO_URI = `mongodb+srv://Cantilever:Cantilever@cluster0.dqxva.mongodb.net/myFirstDatabase?retryWrites=true&w=majority`;
|
||||
const multerS3 = require("multer-s3");
|
||||
const aws = require("aws-sdk");
|
||||
|
||||
let storage = new GridFsStorage({
|
||||
url: MONGO_URI,
|
||||
file: (req, file) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const fileInfo = {
|
||||
filename: file.originalname,
|
||||
bucketName: "blogImages",
|
||||
};
|
||||
resolve(fileInfo);
|
||||
});
|
||||
},
|
||||
aws.config.update({
|
||||
secretAccessKey: `${process.env.AWS_SEC}`,
|
||||
accessKeyId: `${process.env.AWS_KEY}`,
|
||||
region: "ap-south-1",
|
||||
});
|
||||
|
||||
const upload = multer({ storage });
|
||||
router.post("/addBlog", upload.single("file"), BlogController.addBlog);
|
||||
const s3 = new aws.S3();
|
||||
|
||||
const upload = multer({
|
||||
storage: multerS3({
|
||||
s3: s3,
|
||||
acl: "public-read",
|
||||
bucket: "cantilever-blog-images",
|
||||
metadata: function (req, file, cb) {
|
||||
cb(null, { fieldName: file.originalname });
|
||||
},
|
||||
|
||||
key: function (req, file, cb) {
|
||||
cb(null, file.originalname);
|
||||
},
|
||||
}),
|
||||
});
|
||||
|
||||
router.post("/addBlog", upload.single("blog_image"), BlogController.addBlog);
|
||||
|
||||
router.get("/getAllBlogs", BlogController.getAllBlogs);
|
||||
|
||||
|
|
Loading…
Reference in New Issue