Probablemente me estoy perdiendo algo obvio, pero una vez que confirmo que está bien en la window.alert de ventana, el nombre del archivo todavía aparece junto a Choose File . Así que se está subiendo a la entrada todavía. ¿Cómo evito esto?
<input id="uploadFile" type="file" onChange={chooseFile} /> const chooseFile = (e) => { e.preventDefault() const file = e.target.files[0] if (file.size > 2e6) { window.alert("Please upload a file smaller than 2 MB") e.target.file = "" return false } }Vacíe la propiedad de value de la input . Para eso, cambie e.target.file = "" a e.target.value = "" . Aquí está el código de su agujero:
const chooseFile = (e) => { e.preventDefault() const file = e.target.files[0] if (file.size > 2e6) { window.alert("Please upload a file smaller than 2 MB") e.target.value = "" return false } }