2015-12-17 4 views
12

Я использую следующее, чтобы загрузить файлы в каталог через Multer. Он отлично работает, но мне нужно выполнить некоторые действия после загрузки, для которых требуется имя файла, который я только что разместил в каталоге «загрузить». Как получить имя файла, который я только что опубликовал?Узел/Multer Get Filename

// 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 
}); 
+0

http://stackoverflow.com/questions/41209875/should -not-allow-file-upload-if-any-changes-extension-from-exe-to-png-via-mul –

ответ

6

request.file дает следующую статистику, из которой нужно просто бы выбрать request.file.originalname или request.file.filename, чтобы получить новое имя файла, созданный 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 
} 

Например, в nodejs выразить приложение с MVC 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) 
} 
+0

http://stackoverflow.com/questions/41209875/Должны-не-разрешительный-файлов для загрузки-если-кто-то-изменения-разгибания из-ехе-к-Пурнефтегаз-через-мул –

1

использованием request.file.filename

имя_поля Имя поля задается в виде
ORIGINALNAME Название из файл на компьютере пользователя кодировка Тип кодировки файла
mimetype Mime тип файла
размер Размер файла в байтах

2

Доступ к данным, загруженным файлов отличается Multer, в зависимости от того, вы загружаете одного или Множественные файлы. Доступ к данным, как так:

загрузки одного файла:

req.file 

загрузки нескольких файлов:

req.files 
4
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); 
});

 Смежные вопросы

  • Нет связанных вопросов^_^