Я использую NodeJS + Multer для загрузки нескольких файлов за один шаг.Выбранные файлы (с использованием файлового ввода) отображаются в списке.Это отлично работает.Теперь я хотел бы дать ответ после каждого файла, который был успешно загружен (например, путем добавления символа галочки).
Вот текущий запрос на публикацию + объект хранения Multer + функция загрузки (ничего особенного):
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, '/uploads');
},
filename: function (req, file, callback) {
callback(null, file.originalname);
}
});
var upload = multer({ storage : storage }).array('userfiles',50);
app.post('/api/upload',function(req,res){
upload(req,res,function(err) {
console.log(req.files);
if(err) {
return res.end("Error Uploading!");
}
res.end("Upload Successful!");
});
});
Насколько я понимаю, функция загрузки обрабатывает весь объект хранения со всеми файлами внутри multer.Я не вижу никакой возможности разместить свой успех-ответ вообще.Моя идея состоит в том, чтобы разделить запрос и выполнить итерацию по каждому файлу в запросе, загрузить его как один файл и сделать успешный ответ.См. Мой псевдокод:
app.post('/api/upload',function(req,res){
for (var SingleFile in req)
upload(SingleFile,res,next)
res.write("uploaded "+SingleFile)
});
Как бы я это сделал?
Другой подход: Использование клиентской JQuery для получения входных файлов и вызова запросов на запись для каждого файла.
Чего я хотел бы избежать, так это наблюдать за папкой назначения для полностью записанных файлов.
Спасибо за любую помощь, подсказку или комментарий.