Sé que el tipo MIME del docx es
application/vnd.openxmlformats-officedocument.wordprocessingml.document Pero cada vez que elijo un archivo docx usando <input type="file"> , ¿el tipo está vacío?
<!DOCTYPE html> <html> <body> <input type="file" id="myfile" name="myfile" multiple><br><br> <button onclick="logFile(event)">CLick</button> </body> <script> function logFile(e) { var myFile = document.getElementById("myfile"); console.table(myFile.files[0]) } </script> </html> Este código registrará una tabla con type = application/pdf cuando elija un pdf, pero cuando elija un archivo docx type = ""
Debido a que el tipo está vacío, cuando lo envío a mi servidor, el navegador lee automáticamente los archivos docx como application/octet-stream , que no es lo que quiero.
Los tipos MIME no son realmente una cosa del navegador/cliente. Especialmente Windows no sabe nada sobre ellos y usa la extensión de archivo en su lugar, y ni él ni los navegadores tienen una lista o asignación de extensiones de archivo a tipos MIME.
Además, incluso si el navegador enviara un tipo MIME, NUNCA puedes confiar en nada de lo que te envíe un cliente. En cualquier caso, deberá mirar el contenido del archivo enviado y verificar si realmente es el tipo de archivo que espera.