Event onAfterUpload is always called, allowing to send custom output and finish the request when hasErrors() is true, avoiding the Exception