节点/ Multer获取文件名
我正在使用以下方式通过Multer将file upload到目录。 它工作的很好,但是我需要在上传之后执行一些操作,这些操作需要我刚刚发布到“upload”目录的文件的名称。 我如何获得我刚刚发布的文件的名称?
// 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
提供了以下统计信息,您只需从中selectrequest.file.originalname
或request.file.filename
即可获取由nodejs应用创build的新文件名。
{ 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中用ecma-6表示mvc应用程序,
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 ); });
访问上传的文件数据在Multer中有所不同,具体取决于您是上传单个还是多个文件。 像这样访问数据:
上传单个文件:
req.file
上传多个文件:
req.files
使用request.file.filename
fieldname在表单中指定的字段名称
originalname用户计算机上的文件名称文件的编码types
mimetype文件的MIMEtypes
大小以字节为单位的文件大小
- node.js multer将文件名保存到数据库中
- 如何从VueJs提交“multipart / form-data”
- Node.js Express3到Express4迁移 – parsing器的使用
- Node.js和Multer – 在callback函数(req,res)中处理上传文件的目的地
- Multer 1.0.3平均堆栈file upload
- 在S3 API上使用multer上传图片返回undefined
- 使用Multer存储对象
- 使用multer,ng-file-upload,angular和node将dynamic表单数据绑定到每个file upload多个文件
- 在使用multer在node.js(express)中上传后保留图像文件名称和扩展名