Ich habe einen Knoten erholsame API zu entwickeln. Ich muss einige Bilddateien hochladen und Dateinamen in der Datenbank speichern. wie geht es? das ist mein codeNode restful API, Datei hochladen und Speichern von Dateinamen in der Datenbank vor dem Beitrag
var express = require('express');
var multer = require('multer')
var upload = multer({ dest: 'uploads/' })
var router = express.Router();
var path = require('path');
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, './uploads');
},
filename: function (req, file, callback)
{
callback(null, Date.now('nano') + path.extname(file.originalname));
}
});
var upload = multer({ storage : storage }).array('userPhoto',2);
// Models
var Car = require('../models/car');
// Routes
Car.methods(['get','put','post','delete']);
// before file uplod part
Car.before('post',function(req,res,next)
{
var car_photos = [];
upload(req,res,function(err)
{
if(err)
{
return res.end("Error uploading file.");
}
else
{
for(var i = 0; i < req.files.length; i++)
{
car_photos.push(req.files[i]['filename']);
}
}
});
req.body.car_photos = car_photos;
next();
});
Car.register(router,'/car');
module.exports = router;
Dieses car_photos-Array ist null. Wie ich dieses Array meine Datenbank speichern. bitte hilfe.
Car.before('post',function(req,res,next)
{
var car_photos = [];
upload(req,res,function(err)
{
if(err)
{
return res.end("Error uploading file.");
}
else
{
for(var i = 0; i < req.files.length; i++)
{
car_photos.push(req.files[i]['filename']);
}
}
});
req.body.car_photos = car_photos;
next();
});
Thanx es funktioniert. –
Ist es möglich, vollständige Antwort mit Modellen selbst zu geben –