The most used, flexible, fast and streaming parser for multipart form data. Supports uploading to serverless environments, AWS S3, Azure, GCP or the filesystem. Used in production.
MIT License
7k
stars
680
forks
source link
fix: Use fileBegin hook to properly fail when maxFiles is exceeded #881
Currently, using the "file" (file completion) hook to check the maxFiles restriction allows an extra file to be uploaded.
This is because if _error is called after the last file is uploaded, this.ended is already set to true and the error is ignored.
By using the "fileBegin" hook instead, the error is triggered before the file has finished uploading.
This also allows the server to fail immediately upon the file upload, which means it doesn't have to wait for the extra upload that will be discarded anyways.
Currently, using the
"file"
(file completion) hook to check the maxFiles restriction allows an extra file to be uploaded.This is because if
_error
is called after the last file is uploaded,this.ended
is already set to true and the error is ignored.By using the
"fileBegin"
hook instead, the error is triggered before the file has finished uploading. This also allows the server to fail immediately upon the file upload, which means it doesn't have to wait for the extra upload that will be discarded anyways.