W jaki sposób można uzyskać multer akceptować pliki z wielu pól typu pliku?Przesyłanie wielu plików za pomocą multer, ale z różnych pól?
Mam następujący kod, który przesyła pojedynczy plik, używając multer w node.js:
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, './public/uploads');
},
filename: function (req, file, callback) {
callback(null, file.fieldname + '-' + Date.now());
}
});
var upload = multer({ storage : storage });
app.post('/rest/upload', upload.array('video', 1), function(req, res, next){
...
}
Z poniższego formularza, pod warunkiem tylko pole wideo ma wartość (jeśli mogę określić zarówno I uzyskać „Nieoczekiwane pole” error):
<form action="/rest/upload" method="post" enctype="multipart/form-data">
<label>Video file: </label> <input type="file" name="video"/>
<label>Subtitles file: </label> <input type="file" name="subtitles"/>
<input type="submit"/>
</form>
to nie wynika z dokumentacji, jak podejść do tego? Wszelkie sugestie będą mile widziane. BTW Próbowałem następujących wariantów parametrów, bez powodzenia:
app.post('/rest/upload', [upload.array('video', 1), upload.array('subtitles', 1)] ...
app.post('/rest/upload', upload.array('video', 1), upload.array('subtitles', 1), ...
app.post('/rest/upload', upload.array(['video', 'subtitles'], 1), ...
nie miałem, chociaż pójdę z uploads.fields() podejście, jak sugeruje dokumentacji any() prawdopodobnie nie jest najlepszym rozwiązaniem, z punktu A obsługa i perspektywa bezpieczeństwa. –