upload file image avec multer
bonjour,
j'ai suivi un tutoriel dans youtube et j'ai pas vu tout ces codes sur le upload file avec multer,
mon problème est pourquoi quant je fait avec postman et il est toujours en load, mes codes sont
app.js
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
const express = require('express')
const app = express();
const cors = require('cors')
const morgan = require('morgan');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const dbConfig = require('./config/database')
const productRoutes = require("./routes/products");
mongoose.connect(dbConfig.url, {
useNewUrlParser: true
}).then(() => {
console.log('Successfully connect database');
}).catch(err => {
console.log('not connect database');
process.exit();
})
// mongoose.connect(
// "mongodb://node-shop:" +
// process.env.MONGO_ATLAS_PW +
// "@node-rest-shop-shard-00-00-wovcj.mongodb.net:27017,node-rest-shop",
// {
// useMongoClient: true
// }
// );
mongoose.Promise = global.Promise;
app.use(cors());
app.use(morgan("dev"));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.listen(3000, () => {
console.log("Server listening 3000");
})
app.use('/', productRoutes) |
dans le config/database.js
Code:
1 2 3 4
|
module.exports = {
url: 'mongodb://localhost:27017/tuto'
} |
et le /routes/products.js
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
const express = require("express");
const router = express.Router();
const mongoose = require('mongoose')
const multer = require('multer')
const upload = multer({dest:'uploads/'})
const Product = require("../models/product")
router.get("/", (req, res, next) => {
Product.find()
.select('name price _i')
.exec()
.then(docs => {
const response = {
count: docs.length,
products: docs.map(doc =>{
return {
name: doc.name,
price: doc.price,
_id: doc._id,
request:{
type: "GET",
url: "http://localhost:3000/products/" + doc._id
}
};
})
};
res.status(200).json(response);
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
});
router.post('/', upload.single('productImage'),(req, res, next) => {
console.log(req.file);
const product = new Product({
_id: new mongoose.Types.ObjectId(),
name: req.body.name,
price: req.body.price
})
product
.save()
.then(result => {
console.log(result);
res.status(201).json({
message: "Created product successfully",
createdProduct: {
name: result.name,
price: result.price,
_id: result._id,
request:{
type: 'GET',
url: "http://localhost:3000/products"+ result._id
}
}
})
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
});
module.exports = router |
s'il vous plait, aide moi