web-dev-qa-db-fra.com

Nœud/Multer Obtenir le nom du fichier

J'utilise ce qui suit pour télécharger des fichiers dans un répertoire via Multer. Cela fonctionne très bien, mais je dois effectuer certaines opérations après le téléchargement qui nécessitent le nom du fichier que je viens de publier dans le répertoire "upload". Comment puis-je obtenir le nom du fichier que je viens de poster?

// 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
});
18
Kode

request.file donne les statistiques suivantes, à partir desquelles il vous suffira de choisir request.file.originalname ou request.file.filename pour obtenir le nouveau nom de fichier créé par nodejs app.

{ 
  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 
}

Par exemple, dans l’application nodejs express mvc avec 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)
}
11
prayagupd
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);
});
11
Yash Bele

L'accès aux données des fichiers téléchargés diffère dans Multer, selon que vous téléchargez single ou multiple fichiers. Accéder aux données comme suit:

chargement d'un fichier unique:

req.file

chargement de plusieurs fichiers: 

req.files
4
Paul Walczewski

en utilisant request.file.filename

nom du champ Nom du champ spécifié dans le formulaire
originalname Nom du fichier sur l'ordinateur de l'utilisateur encoding Type d'encodage du fichier
mimetype Type MIME du fichier
taille Taille du fichier en octets

1
Ahmed Alassafy