私はJMimeMagicのlibを使用してCSVファイルのアップロードを検証しています。JMimeMagic libを使用してCSVファイル用のmimetype text/plainを取得しているのはなぜですか?
CSVと他のすべてのテキストファイル(txt、JSPなど)の場合は、text/plain MIMEタイプを指定します。
logger.debug("Checking magic content");
MagicMatch match;
match = Magic.getMagicMatch(getPromotionOptIn().getUpload(),false);
logger.debug("Actual file mimetype=" + match.getMimeType());
CSVファイルでtext/csvを取得しないでください。 (SeeすべてのMIMEタイプのリスト)。
また、有効なCSVファイルを考えてテキスト/プレーンに妥当性を確認しても問題ありません。
Java Mime Magicはパフォーマンス面で優れていますか?つまり、ファイル全体をメモリに保持せず、ヘッダや初期の内容だけを読み込んで結果を出すのではないという意味ですか?私がヒントを与えていない場合は、2番目のパラメータに** false **を渡してもよろしいですか?ありがとう。 –
@Tahirパフォーマンスについてはわかりませんが、読み込まれるファイルの部分はフォーマットに依存していると思います。私はそこにテキスト以外の文字があるかどうかを見るためにコンテンツ全体を読むように見えるテキストファイル検出器しか見ることができませんでした。画像のような他のフォーマットの場合は、独自の検出器を用意してヘッダーのみを読む必要があります。あなたはまた、拡張機能に頼ることもできます。ソース/ドキュメントを確認してください。私は自分自身でそのライブラリを使用しているわけではありません。ソースよりも多くの情報を提供することはできません。 – Thomas
@Tahir 2番目のパラメータに関して: 'false'を渡すとヒントが無視されるように見えるので、追加のヒントを与えなければ実際には問題にはならないでしょう。 – Thomas