GOOGLE ADS

miércoles, 27 de abril de 2022

Cómo devolver la identificación del archivo cargado (cargar con multer en la aplicación nodejs express)

Tengo una aplicación MEAN stack e intento cargar un archivo con multer. La carga funciona bien, el único problema es que quiero devolver la identificación del archivo cargado.

//multer settings for single upload
var upload = multer({ storage: storage }).single('file');
app.post('/upload', upload, function (req, res) {
////????? What to return and how?
});

Estoy suscrito a esta publicación en el servicio angular2. Gracias por ayudar.


Solución del problema

var multer = require('multer');
// storage for upload file.
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, './file');
},
filename: function (req, file, callback) {
callback(null, file.originalname);
}
});
var Upload = multer({
storage: storage
}).any('file');
router.post('/upload', postData);
function postData(req, res) {
Upload(req, res, function (error) {
if (error) {
res.status(400).send(error);
}
var obj = {};
obj.file = req.files.filename;
//file is getting stored into database and after it successfully stored
//into database it will return you Id
db.create(obj, function (err, data) {
if (err) {
res.send('error');
}
if (!data) {
res.send('Error');
} else {
console.log('file upload');
res.send(data._id);
}
});
});
}

para devolver la identificación, debe almacenar la referencia en algún lugar de la base de datos y luego devolverá la identificación a Angular2

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...