これは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);
をファイルであり、これは私のproductsController.js私server.js
で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
'use strict';
module.exports = function (app) {
var productsController = require('../controllers/productsController');
app.route('/products')
.get(productsController.fetchAllProducts)
.post(productsController.uploadProducts);
};
のコードです
// 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を使用しています。 –