this is my code and when I try to test the API with Postman it shows me cannot post in my URL
Cannot POST /course/addcourse
but the route is correct can u guys help me
…………………………………………………………………………………………………………………………………………………………………………………… ………………………….
thank you for ur time guys
this is my controller :
<code>const express = require('express');
const router = express.Router();
const Course = require('../models/course');
const multer = require('multer');
let cName = ''; // Variable to store the cover filename
let vNames = []; // Variable to store the video filename
const coverStorage = multer.diskStorage({
destination: './uploads/img',
filename: (req, file, callback) => {
let date = Date.now();
let filename = date + '.' + file.mimetype.split('/')[1];
callback(null, filename);
cName = filename; // Store the cover filename
}
});
const videoStorage = multer.diskStorage({
destination: './uploads/vid',
filename: (req, file, callback) => {
let date = Date.now();
let filename = date + '.' + file.mimetype.split('/')[1];
callback(null, filename);
vNames.push(filename); // Store the video filename
}
});
const uploadCover = multer({ storage: coverStorage }).single('cover');
const uploadVideo = multer({ storage: videoStorage }).array('videos');
router.post('/addcourse', (req, res) => {
// Upload cover image
console.log('api works fine')
uploadCover(req, res, (err) => {
if (err) {
console.log('error in uploading image')
return res.status(400).json({ success: false, error: err.message });
}
// Upload video
uploadVideo(req, res, async (err) => {
if (err) {
console.log('error in uploading video')
return res.status(400).json({ success: false, error: err.message });
}
try {
let data = req.body;
let course = new Course(data);
course.cover = cName;
course.videos = vNames.map(url => ({ url }))
console.log(course);
if(!course){
console.log('error in uploading all attribute')
}
await course.save();
cName = ''; // Reset cover filename
vNames = []; // Reset video filename
res.status(200).json({ success: true, data: course });
} catch (error) {
res.status(400).json({ success: false, error: error.message });
}
});
});
});
module.exports = router;
</code>
<code>const express = require('express');
const router = express.Router();
const Course = require('../models/course');
const multer = require('multer');
let cName = ''; // Variable to store the cover filename
let vNames = []; // Variable to store the video filename
const coverStorage = multer.diskStorage({
destination: './uploads/img',
filename: (req, file, callback) => {
let date = Date.now();
let filename = date + '.' + file.mimetype.split('/')[1];
callback(null, filename);
cName = filename; // Store the cover filename
}
});
const videoStorage = multer.diskStorage({
destination: './uploads/vid',
filename: (req, file, callback) => {
let date = Date.now();
let filename = date + '.' + file.mimetype.split('/')[1];
callback(null, filename);
vNames.push(filename); // Store the video filename
}
});
const uploadCover = multer({ storage: coverStorage }).single('cover');
const uploadVideo = multer({ storage: videoStorage }).array('videos');
router.post('/addcourse', (req, res) => {
// Upload cover image
console.log('api works fine')
uploadCover(req, res, (err) => {
if (err) {
console.log('error in uploading image')
return res.status(400).json({ success: false, error: err.message });
}
// Upload video
uploadVideo(req, res, async (err) => {
if (err) {
console.log('error in uploading video')
return res.status(400).json({ success: false, error: err.message });
}
try {
let data = req.body;
let course = new Course(data);
course.cover = cName;
course.videos = vNames.map(url => ({ url }))
console.log(course);
if(!course){
console.log('error in uploading all attribute')
}
await course.save();
cName = ''; // Reset cover filename
vNames = []; // Reset video filename
res.status(200).json({ success: true, data: course });
} catch (error) {
res.status(400).json({ success: false, error: error.message });
}
});
});
});
module.exports = router;
</code>
const express = require('express');
const router = express.Router();
const Course = require('../models/course');
const multer = require('multer');
let cName = ''; // Variable to store the cover filename
let vNames = []; // Variable to store the video filename
const coverStorage = multer.diskStorage({
destination: './uploads/img',
filename: (req, file, callback) => {
let date = Date.now();
let filename = date + '.' + file.mimetype.split('/')[1];
callback(null, filename);
cName = filename; // Store the cover filename
}
});
const videoStorage = multer.diskStorage({
destination: './uploads/vid',
filename: (req, file, callback) => {
let date = Date.now();
let filename = date + '.' + file.mimetype.split('/')[1];
callback(null, filename);
vNames.push(filename); // Store the video filename
}
});
const uploadCover = multer({ storage: coverStorage }).single('cover');
const uploadVideo = multer({ storage: videoStorage }).array('videos');
router.post('/addcourse', (req, res) => {
// Upload cover image
console.log('api works fine')
uploadCover(req, res, (err) => {
if (err) {
console.log('error in uploading image')
return res.status(400).json({ success: false, error: err.message });
}
// Upload video
uploadVideo(req, res, async (err) => {
if (err) {
console.log('error in uploading video')
return res.status(400).json({ success: false, error: err.message });
}
try {
let data = req.body;
let course = new Course(data);
course.cover = cName;
course.videos = vNames.map(url => ({ url }))
console.log(course);
if(!course){
console.log('error in uploading all attribute')
}
await course.save();
cName = ''; // Reset cover filename
vNames = []; // Reset video filename
res.status(200).json({ success: true, data: course });
} catch (error) {
res.status(400).json({ success: false, error: error.message });
}
});
});
});
module.exports = router;
this is my model :
<code>const mongoose = require('mongoose');const videoSchema = new mongoose.Schema({title: {type: String},url: {type: String},// Add other properties as needed (e.g., duration)});const Course = mongoose.model('Course', {title: {type: String},idUser: {type: String},date: {type: Date,default: Date.now},visibility: {type: String,enum: ['public', 'private', 'shared'],default: 'public'},category: {type: String},videoN: {type: Number,},price: {type: String},cover: {type: String},videos: [videoSchema] // Array of videos});module.exports = Course;</code><code>const mongoose = require('mongoose'); const videoSchema = new mongoose.Schema({ title: { type: String }, url: { type: String }, // Add other properties as needed (e.g., duration) }); const Course = mongoose.model('Course', { title: { type: String }, idUser: { type: String }, date: { type: Date, default: Date.now }, visibility: { type: String, enum: ['public', 'private', 'shared'], default: 'public' }, category: { type: String }, videoN: { type: Number, }, price: { type: String }, cover: { type: String }, videos: [videoSchema] // Array of videos }); module.exports = Course; </code>const mongoose = require('mongoose'); const videoSchema = new mongoose.Schema({ title: { type: String }, url: { type: String }, // Add other properties as needed (e.g., duration) }); const Course = mongoose.model('Course', { title: { type: String }, idUser: { type: String }, date: { type: Date, default: Date.now }, visibility: { type: String, enum: ['public', 'private', 'shared'], default: 'public' }, category: { type: String }, videoN: { type: Number, }, price: { type: String }, cover: { type: String }, videos: [videoSchema] // Array of videos }); module.exports = Course;
i try to get somecode from chatgpt and it doesn’t help me at all
New contributor
Hosni Jbeli is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.