Получить расширение файла из массива байтовJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получить расширение файла из массива байтов

Сообщение Anonymous »

Ниже приведен фрагмент кода для получения расширения файла

Код: Выделить всё

public static Map getImageType(byte[] imageContent) throws Exception {
Map result = new HashMap();
TikaConfig config = TikaConfig.getDefaultConfig();
MediaType mediaType = config.getMimeRepository().detect(new ByteArrayInputStream(imageContent), new Metadata());
MimeType mimeType = config.getMimeRepository().forName(mediaType.toString())
result.put("extn", mimeType.getExtension().replaceFirst(".", ""));
return result;
}
В зависимости tika-core используется версия 1.13
Приведенный выше код работает нормально для всех документов, имеющих расширения .pdf, .jpg, . csv, .txt, .bin, .jpeg и возвращают ожидаемое расширение Ex {extn=.pdf}. Но он не работает, если расширение файла .doc и .docx и возвращает пустое значение {extn=

Код: Выделить всё

Expecting to get the .doc and .docx file extension ex:{extn=.doc}


Подробнее здесь: https://stackoverflow.com/questions/784 ... byte-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»