<!doctype html>
<html>
<body>
<form action="/upload" method="POST" enctype="multipart/form-data">
<input type='file' name="image">
<br>
<input type="submit" value="submit">
</form>
</body>
</html>
var express = require('express');
var router = express.Router();
var multer = require('multer');
var upload = multer({ dest: 'uploads/',
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
} });
router.post('/upload', upload.single('image'), function(req, res){
res.send("Uploaded");
});
module.exports = router;
У меня есть этот базовый код, который загружает изображение с помощью multer модуля. Но когда файл загружается, он генерирует какое-то случайное имя и даже избавляется от расширения файла. Он просто говорит «файл». Итак, как я могу сохранить имя изображения с расширением.
FWIW вы не можете полагаться на расширениях файлов для произвольного добавляемого пользователя. Вы можете изучить модуль, например ['mmmagic'] (https://github.com/mscdex/mmmagic), который проверяет содержимое файла для определения типа файла. – mscdex