nodejs node example es6 node.js multer

node.js - example - upload file node js express



Nodo/Multer Obtener nombre de archivo (4)

Estoy usando lo siguiente para subir archivos a un directorio a través de Multer. Funciona muy bien, pero debo realizar algunas acciones después de cargar que requieren el nombre del archivo que acabo de publicar en el directorio "subir". ¿Cómo obtengo el nombre del archivo que acabo de publicar?

// Multer storage options var storage = multer.diskStorage({ destination: function(req, file, cb) { cb(null, ''upload/''); }, filename: function(req, file, cb) { cb(null, file.originalname + ''-'' + Date.now() + ''.pdf''); } }); var upload = multer({ storage: storage }); app.post(''/multer'', upload.single(''file''), function(req, res) { // Need full filename created here });


El acceso a los datos de archivos cargados difiere en Multer, dependiendo de si está cargando archivos individuales o múltiples . Acceda a los datos de esta manera:

subiendo un solo archivo:

req.file

subiendo múltiples archivos:

req.files


utilizando request.file.filename

nombre de campo nombre de campo especificado en el formulario
nombre original Nombre del archivo en la computadora del usuario que codifica Tipo de codificación del archivo
Tipo Mime mimetype del archivo
tamaño Tamaño del archivo en bytes


request.file proporciona las siguientes estadísticas, de las cuales solo tendría que elegir request.file.originalname o request.file.filename para obtener el nuevo nombre de archivo creado por la aplicación nodejs.

{ fieldname: ''songUpload'', originalname: ''04. Stairway To Heaven - Led Zeppelin.mp3'', encoding: ''7bit'', mimetype: ''audio/mp3'', destination: ''./uploads'', filename: ''songUpload-1476677312011'', path: ''uploads/songUpload-1476677312011'', size: 14058414 }

Por ejemplo, en la aplicación mvc nodejs express con ecma-6,

var Express = require(''express''); var app = Express(); var multipartUpload = Multer({storage: Multer.diskStorage({ destination: function (req, file, callback) { callback(null, ''./uploads'');}, filename: function (req, file, callback) { callback(null, file.fieldname + ''-'' + Date.now());}}) }).single(''songUpload''); app.post(''/artists'', multipartUpload, (req, resp) => { val originalFileName = req.file.originalname console.log(originalFileName) }


var express=require("express"); var app=express(); var multer=require("multer"); var upload=multer({dest:"uploads/"}); app.post("/multer", upload.single("file"), function(req,res){ console.log(req.file.filename); });