2015-09-06 13 views
7

Sunucumda yüklenen dosyanın gerçekten bir görüntü olup olmadığını nasıl kontrol edebilirim? Sadece (jpg, png, gif) uzantısına sahip bir dosya değil, sadece "bir görüntü" dosyası olarak. Imagemin kullanarak bir görüntü sıkıştırma servisi oluşturdum, ancak yüklenen dosya gerçekten bir görüntü ise korkarım. Bunun için mmmagic modülü kullandıkBir dosyanın gerçekten bir resim olup olmadığını belirleyin express/node.js

+0

olası yinelenen [node.js, URL tüm, nasıl Dolayısıyla ister jpg/png/gif kontrol ederim? Verilmiş] (http://stackoverflow.com/questions/8473703/ in-node-js-verilen-a-url-nasıl-i-check-it-onun-bir-jpg-png-gif) – Vyacheslav

cevap

4

, bu mim türleri keşfeder: mmmagic on Github

+0

Sadece benim sunucuya "invalid.png" yüklemeye çalıştığınızda bir soru (Ancak, sadece not defteri üzerinde oluşturuldu ve sadece uzantısını değiştirdi) MIME tipi görüntü/png olarak mı değişecek, yoksa sadece metin/düz olacak mı? Mime tipi resim/png olacaksa coz – user3569641

+0

coz modülü daha sonra – user3569641

+0

Kullanıyor Benim kendi kullanım davam, bir PDF uzantısı verilen html çıktısından gerçek PDF dosyalarını belirlemek ve iyi çalıştı. Github repo'yu incelerseniz, modülün sadece bir uzantıyı kontrol ederek değil, dosya verilerini inceleyerek çalışacağını görürsünüz. – Dimitri

1

Mime tipleri faydalı değildir. Sihirli numaralar deneyin veya dosyayı açmayı deneyin. Daha fazla bilgi için bağlantıyı okuyun. https://stackoverflow.com/a/8475542/1979882

http://www.astro.keele.ac.uk/oldusers/rno/Computing/File_magic.html#Image

ait
+1

mmmagic bunu tam olarak yapar, dosyanın ikili verilerini okur, tanımlama baytlarını arar ve mime tipi de dahil olmak üzere dosya hakkında bilgi verir. Sağladığınız stackoverflow bağlantısında bile belirtilmiştir. – Dimitri

İlgili konular