Come posso verificare se il file caricato sul mio server è davvero un'immagine? Non solo un file con estensione (jpg, png, gif) solo per renderlo un file "immagine". Ho creato un servizio di compressione delle immagini usando imagemin, ma temo che il file caricato sia davvero un'immagine.Determina se un file è realmente un'immagine in express/node.js
risposta
Ho usato il modulo mmmagic per questo, si scopre tipi MIME: mmmagic on Github
Solo una domanda, quando provo a caricare "invalid.png" sul mio server (anche se è stato appena creato sul blocco note e basta modificarne l'estensione) il tipo di mime sarà cambiato in image/png o solo, ad esempio, text/plain? – user3569641
coz se il tipo mime sarà image/png quindi il modulo non è utile allora – user3569641
Il mio caso d'uso è stato quello di determinare i veri file PDF dall'output html a cui è stata data un'estensione PDF, e ha funzionato bene. Se date un'occhiata al repository Github, vedrete il modulo funziona controllando i dati del file, non semplicemente controllando un'estensione. – Dimitri
tipi MIME non sono utili. Prova i numeri magici o cerca semplicemente di aprire il file. Leggi con link per maggiori dettagli. https://stackoverflow.com/a/8475542/1979882
http://www.astro.keele.ac.uk/oldusers/rno/Computing/File_magic.html#Image
mmmagic fa esattamente questo, legge i dati binari del file, cerca i byte di identificazione e li trasforma in informazioni sul file, incluso il tipo mime. Viene anche menzionato nel link StackOverflow che hai fornito. – Dimitri
- 1. Determina se un file è aperto
- 2. Rilevare se un elemento è realmente visibile
- 3. Determina se WindowServer è disponibile?
- 4. Determina se un websocket send() è finito
- 5. Determina se LTE è attivato?
- 6. Determina se l'oggetto è intero
- 7. Verifica se un elemento è realmente visibile all'utente
- 8. Determina se il file copiato negli Appunti è un'immagine
- 9. Determina se una sottoview è visibile in un UIScrollView
- 10. Determina se un elenco è una directory o un file in Python su FTP
- 11. Determina se un parametro/variabile è un ("is_a?") Lambda?
- 12. python: determina se una classe è nidificata
- 13. C++ determina se la classe è paragonabile
- 14. Clojure: Determina se una variabile è dichiarata
- 15. Determina se il modulo Magento è abilitato
- 16. Applicazione Windows determina se TextBlock è tagliato
- 17. Determina se il negozio è aperto?
- 18. Determina se il valore JavaScript è un "intero"?
- 19. Determina se un'immagine è in scala di grigi in Matlab
- 20. Determina se un grafico è semi-connesso o no
- 21. Come si determina utilizzando stat() se un file è un collegamento simbolico?
- 22. UIFont.monospacedDigitSystemFontOfSize() non è realmente monospaziato?
- 23. Determina se la pagina è valida in JavaScript - ASP.NET
- 24. In che modo scanf determina se bloccare?
- 25. In che modo esattamente Android determina se è online?
- 26. Determina se l'app è in esecuzione o no
- 27. Come è implementato perl -i * realmente *?
- 28. Scrive su uno stream come se fosse un file, ma scrive realmente su un oggetto
- 29. Determina se il token del dispositivo è sandbox o distribuzione
- 30. LDAP Java - Determina se l'utente in un determinato gruppo?
possibile duplicato del [In Node.js, dato un URL, come faccio a verificare se la sua un jpg/png/gif?] (Http://stackoverflow.com/questions/8473703/ in-node-js-given-a-url-how-do-i-check-if-its-a-jpg-png-gif) – Vyacheslav