web-dev-qa-db-ja.com

Node / Multer Get Filename

以下を使用して、Multerを介してファイルをディレクトリにアップロードしています。うまく機能しますが、アップロード後に「アップロード」ディレクトリに投稿したファイルの名前を必要とするいくつかのアクションを実行する必要があります。投稿したファイルの名前を取得するにはどうすればよいですか?

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

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では、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)
}
16
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);
});
13
Yash Bele

singleまたはmultipleファイルをアップロードするかどうかによって、アップロードされたファイルデータへのアクセスはMulterで異なります。次のようなデータにアクセスします。

単一ファイルのアップロード:

req.file

複数のファイルのアップロード:

req.files
6
Paul Walczewski

request.file.filenameを使用

fieldnameフォームで指定されたフィールド名
originalnameユーザーのコンピューター上のファイル名エンコードファイルのエンコードタイプ
mimetypeファイルのMIMEタイプ
sizeバイト単位のファイルサイズ

1
Ahmed Alassafy