Я новичок в веб-разработке. У меня есть многофайловая загрузка на страницу. Файлы успешно загружаются с помощью multer в папку «public/uploads».Доступные имена файлов в файлах req.files, созданных Multer, для добавления в недавно загруженные файлы
Как получить доступ к файлам, которые я только что загрузил, используя файлы req.files, которые создает multer? Результат не является массивом, хотя multer docs говорят для нескольких файлов, req.files будет содержать массив.
Я чувствую, что у меня что-то неправильно настроено.
Адрес console.log(req.files)
. так как вы можете видеть, что спины не разделены запятой.
[ { fieldname: 'file',
originalname: 'acschemrev5b00690.jpeg',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: 'public/uploads',
filename: '1484769679031-acschemrev5b00690.jpeg',
path: 'public/uploads/1484769679031-acschemrev5b00690.jpeg',
size: 79299 } ]
[ { fieldname: 'file',
originalname: 'acschemrev5b00701.jpeg',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: 'public/uploads',
filename: '1484769679047-acschemrev5b00701.jpeg',
path: 'public/uploads/1484769679047-acschemrev5b00701.jpeg',
size: 127608 } ]
[ { fieldname: 'file',
originalname: 'acschemrev5b00703.jpeg',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: 'public/uploads',
filename: '1484769679109-acschemrev5b00703.jpeg',
path: 'public/uploads/1484769679109-acschemrev5b00703.jpeg',
size: 117312 } ]
Вот мой сервер app.js
файл:
var express = require('express');
var app = express();
var fs = require("fs");
var bodyParser = require('body-parser');
var multer = require('multer');
// var upload = multer({ dest: 'uploads/' });
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'public/uploads')
},
filename: function (req, file, cb) {
// cb(null, file.fieldname + '-' + Date.now());
cb(null, Date.now() + "-" + file.originalname);
// cb(null, file.originalname);
}
});
var upload = multer({ storage: storage });
// set the view engine to pug
app.set('view engine', 'pug');
app.use(express.static(__dirname + '/public'));
app.listen(3000, function() {
console.log('Example app listening on port 3000!');
});
app.get('/', function (req, res) {
res.render('index');
});
// from multer
app.post('/file-upload', upload.any(), function(req, res, next) {
// Metadata about the uploaded file can now be found in req.file
res.send(req.files);
// console.log(req.files);
currentFiles = req.files;
console.log(req.files);
app.post('/crop-images')
});
Мне нужно обрабатывать файлы, которые я просто загружены. Каков наилучший способ сделать это? Нужно ли создавать массив каждого имени файла, а затем обрабатывать каждый из них? Как получить их имена из req.files?
Спасибо!