Warum bin ich immer der MIME-Typ text/plain für CSV-Datei mit JMimeMagic lib?
Ich bin mit JMimeMagic lib zu überprüfen CSV-Datei hochladen.
Für CSV-und jede andere text-Datei (txt, JSP etc) es gibt mir text/plain mime-Typ.
logger.debug("Checking magic content");
MagicMatch match;
match = Magic.getMagicMatch(getPromotionOptIn().getUpload(),false);
logger.debug("Actual file mimetype=" + match.getMimeType());
Sollte ich nicht bekommen, text/csv-Format für die CSV-Datei? (Sehen die ganze Liste von mime-Typen).
Oder es ist gut für ihn, dass ich meine Validierung auf "text/plain" denken seine eine gültige CSV-Datei.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da CSV-Dateien können mehrere verschiedene Separatoren ich vermute, dass die csv-Datei wird nur anerkannt, als eine text-Datei (was auch stimmt).
Wenn Sie eine text-Datei, wie Sie wissen, für sicher, es ist eine CSV-Datei? Wenn es ein Komma, semi Doppelpunkte etc. in den text? Was ist, wenn diese gehören zu einem Eintrag und der separator ist etwas anderes (wie z.B. |, #, @, etc.)?
Haben Sie Schwierigkeiten mit dem erzählen für Sie sicher, ohne weitere Informationen und JMimeMagic haben die gleichen Probleme. Es wird also nur zurück, was es sicher ist: die Datei ist eine text-Datei. Damit man "nur" auf "text/plain".
Weiß ich nicht, die Bibliothek, sondern aus der Dokumentation/source-wie es scheint, Sie könnten ein Hinweis, dass
*.csv
Dateien habentext/csv
mime-Typ mitMagic.addHint("csv", someMatcher)
. Beachten Sie, dass Sie möglicherweise passtrue
für den zweiten Parameter, da sonst diese Hinweise ignoriert werden könnten (scheint also aus der Betrachtung der Quellen).Wäre immer noch abhängig von Datei-Erweiterung, um korrekt zu sein, d.h. wenn jemand hochgeladen .csv-Datei, enthält etwas anderes bekommen Sie den falschen mime-Typ.
Jedoch, wie es scheint
JMimeMagic
würde nicht viel content Prüfung sowieso. Zumindest finde ich nicht viel in die Quellen fand ich bei sourceforge/github. Es gibt nur eine text-Datei-Detektor, so dass Sie haben könnte, um Ihre eigenen Inhalte einfügen-Detektoren für andere mime-Typen und Dateiformate.false
alle Hinweise scheinen ignoriert zu werden, so, wenn Sie nicht zusätzliche-Hinweise es eigentlich, scheint nicht wichtig zu sein.Meine Vermutung ist, dass JMimeMagic verwendet die ersten paar bytes der Datei-Typ ermitteln. Dies ist möglich, viele verschiedene Datei-Typen, da Sie sehr standard-Header. Einige text-Dateien, wie HTML, wird der text
<html
irgendwo am Anfang, so dass Sie eine gute Vermutung, um welche Art Datei es ist.Diese Art der Ableitung ist nicht möglich, für CSV-Dateien. Sie haben nicht die standard-Header. Es ist schwierig, die programmgesteuert zu sagen, eine CSV-Datei aus einer shopping-Liste mit Kommas drin. Es gibt Sie, die eine richtige Antwort "text/plain", da werden alle CSV-Dateien.