Node.js + Expressでなんか作ってるとき、multerを使ってファイルをアップロードしたときのファイル名の操作
githubに書いてある通りなのだけど、メモ
「filenameを指定しないと拡張子を一切含まないランダムな名前が付加されるぜ!」
つーわけで以下のような感じでfilenameを指定する
[js]
const multer = require(‘multer’);
const multerStorage = multer.diskStorage({
destination (req, file, cb) {
cb(null, ‘./public/uploads/’);
},
filename (req, file, cb) {
cb(null, Date.now() + file.originalname);
}
});
const upload = multer({ storage: multerStorage });
[/js]
cbの第二引数(ここではDate.now() + file.originalname)でファイル名を指定する。file.originalnameを付けているので拡張子も保持されるはず