Ich versuche, hochgeladene Bilder vom Client zum Server zu senden. ich tue es auf diese Weise:Busboy 'filesLimit' Ereignis nicht Feuer
...
var files = document.getElementById('myForm').files;
var formData = new FormData();
formData.append('image', files[0]);
$.ajax({
url: '/upload',
data: formData,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
alert(JSON.stringify(data));
}
});
...
In Server i Express
verwenden. Dann für den Zugriff auf die hochgeladenen Dateien auf dem Server i verwenden connect-busboy
Modul:
...
router.post('/upload', function(req, res, next) {
req.pipe(req.busboy);
req.busboy.on('file', function (fieldname, file, filename) {
//do something
});
req.busboy.on('filesLimit', function(){
//do something
});
});
...
Und maximale Dateigröße der hochgeladenen Dateien eingestellt ich eine fileSize
Option 3 MB in einem connect-busboy Konstruktor:
...
app.use(
busboy({
limits: {
fileSize: 3*1024 //3 mb
}
})
);
...
Das Problem ist, dass, wenn ich Bilder mit einer Größe größer als 3 MB, filesLimit
Ereignis Hochladen tun Esnt Feuer. Noch schlimmer, file
Event feuert in diesem Moment und (!) Nur 3 MB Datei wird verfügbar.
Was ist los? Warum filesLimit
Ereignis nicht Feuer? Danke für Ihre Hilfe!