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);
});