Próbowałem te sposoby znajdowania typ MIME pliku ...Jak uzyskać typ MIME pliku .msg?
Path source = Paths
.get("C://Users/akash/Desktop/FW Internal release of MSTClient-Server5.02.04_24.msg");
System.out.println(Files.probeContentType(source));
Powyższy kod zwraca null
...
A jeśli używam API Tika z Apache, aby uzyskać typ MIME następnie daje go jako text/plain ...
Ale chcę wynik jako application/vnd.ms-outlook
UPDATE
użyłem również MIME-Util.jar
następująco kodem ...
MimeUtil2 mimeUtil = new MimeUtil2();
mimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.MagicMimeMimeDetector");
RandomAccessFile file1 = new RandomAccessFile(
"C://Users/akash/Desktop/FW Internal release of MSTClient-Server5.02.04_24.msg",
"r");
System.out.println(file1.length());
byte[] file = new byte[624128];
file1.read(file, 0, 624128);
String mimeType = MimeUtil2.getMostSpecificMimeType(mimeUtil.getMimeTypes(file)).toString();
To daje mi wyjście jako application/msword
UPDATE:
Tika API jest poza zakresem, ponieważ jest zbyt duża, aby uwzględnienia w projekcie ...
Więc jak mogę znaleźć typu MIME?
Możesz użyć [magicznej liczby] (https://en.wikipedia.org/wiki/Magic_number_%28programming%29), aby sprawdzić plik i zwrócić typ MIME 'application/vnd.ms-outlook'. Dla .msg: 'D0 CF 11 E0 A1 B1 1A E1' – Duffydake
Czy możesz podać mi odnośnik do linku, skąd otrzymałeś ten konkretny numer magiczny ... ponieważ istnieje w każdym pliku posiadającym konfigurację CFB do pakowania bajtów ... – CoderNeji
Znalazłem go [tutaj] (https://billatnapier.wordpress.com/2013/04/22/magic-numbers-in-files/), ale masz rację, to wydaje się nie być poprawne. – Duffydake