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