이것은 productsModel.js가multer를 사용하여 파일을 업로드하는 방법/form-data에 게시 하시겠습니까?
'use strict';
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var productsSchema = new Schema({
name: {
type: String,
required: true
},
cost: {
type: Number
},
product_imagePaths: [{
type: String
}]
});
module.exports = mongoose.model('Products', productsSchema);
파일입니다 그리고 이것은
var mongoose = require('mongoose'),
Products = mongoose.model('Products');
exports.uploadProducts = function(req,res) {
var new_product = new Products(req.body)
new_product.save(function(err,product){
if(err) {
res.send(err);
}
res.status = 200;
res.json({
"status":"success"
});
});
};
productsRoutes.js 내 server.js
을에서'use strict';
module.exports = function (app) {
var productsController = require('../controllers/productsController');
app.route('/products')
.get(productsController.fetchAllProducts)
.post(productsController.uploadProducts);
};
내 productsController.js의 코드
// mongoose instance connection url connection
mongoose.Promise = global.Promise;
var db = mongoose.connect('mongodb://localhost/abcd', {
useMongoClient: true
});
// body parser middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true }));
// route
var userRoutes = require('./api/routes/userRoutes');
var aboutUsRoutes = require('./api/routes/aboutusRoutes');
var productsRoutes = require('./api/routes/productsRoutes');
userRoutes(app);
aboutUsRoutes(app);
productsRoutes(app);
이제는 x-www-form-urlencoded
을 사용할 때 작동합니다. 하지만 Post
메서드 (productsController.js의 uploadProducts)를 통해 파일을 업로드하려는 경우 form-data
을 통해서만 파일을 업로드 할 수 있습니다. 그러나 form-data
에서는 작동하지 않습니다. 나는 multer
이 form-data
업로드에 사용될 수 있다고 읽었지 만 다음 방법론에서 그것을 사용하는 방법을 알지 못합니다.
클라이언트 프레임 워크를 작성하는 데 어떤 프레임 워크를 사용 했습니까? –
각도 4를 사용하고 있습니다. –