diff --git a/marietje/songs/templates/songs/upload.html b/marietje/songs/templates/songs/upload.html index b28f8e7..c2d734e 100644 --- a/marietje/songs/templates/songs/upload.html +++ b/marietje/songs/templates/songs/upload.html @@ -179,13 +179,14 @@ }).catch(e => { console.log(e); if (e instanceof Response) { - try { - e.json().then(data => { - this.fileObjects[i].error_message = data.errorMessage; - this.fileObjects[i].success = false; - }); - } catch { - this.fileObjects[i].error_message = "An exception occurred while uploading this file, please try again."; + // Intercept an HTTP 413 error (entity too large), as this might + // be thrown by a (reverse) proxy server and its payload is not + // nicely formatted as the code below expects. + if (e.status === 413) { + this.fileObjects[i].error_message = "The song you tried to upload is too large in size. (HTTP 413 error)"; + this.fileObjects[i].success = false; + } else { + this.fileObjects[i].error_message = `${e.statusText} (${e.status})`; this.fileObjects[i].success = false; } } else {