Apache TikaでMimeTypeサブタイプを取得する

lisak:

odt、ppt、pptx、xlsxなどのドキュメントでは、application / zipまたはapplication / x-tika-msofficeではなく、iana.org MediaTypeを取得する必要があります。

mimetypes.xmlを見ると、iana.org mime-typeと "sub-class-of"で構成されるmimeType要素があります。

   <mime-type type="application/msword">
    <alias type="application/vnd.ms-word"/>
    ............................
    <glob pattern="*.doc"/>
    <glob pattern="*.dot"/>
    <sub-class-of type="application/x-tika-msoffice"/>
  </mime-type>

親タイプ名の代わりにiana.org MIMEタイプ名を取得するにはどうすればよいですか?

MIMEタイプの検出をテストするときは、次のようにします。

MediaType mediaType = MediaType.parse(tika.detect(inputStream));
String mimeType = mediaType.getSubtype();

試験結果 :

FAILED: getsCorrectContentType("application/vnd.ms-excel", docs/xls/en.xls)
java.lang.AssertionError: expected:<application/vnd.ms-excel> but was:<x-tika-msoffice>

FAILED: getsCorrectContentType("vnd.openxmlformats-officedocument.spreadsheetml.sheet", docs/xlsx/en.xlsx)
java.lang.AssertionError: expected:<vnd.openxmlformats-officedocument.spreadsheetml.sheet> but was:<zip>

FAILED: getsCorrectContentType("application/msword", doc/en.doc)
java.lang.AssertionError: expected:<application/msword> but was:<x-tika-msoffice>

FAILED: getsCorrectContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.document", docs/docx/en.docx)
java.lang.AssertionError: expected:<application/vnd.openxmlformats-officedocument.wordprocessingml.document> but was:<zip>

FAILED: getsCorrectContentType("vnd.ms-powerpoint", docs/ppt/en.ppt)
java.lang.AssertionError: expected:<vnd.ms-powerpoint> but was:<x-tika-msoffice>

mimetypes.xmlから実際のサブタイプを取得する方法はありますか?x-tika-msofficeまたはapplication / zipの代わりに?

さらに、application / x-tika-ooxmlを取得することはありませんが、xlsx、docx、pptxドキュメントのapplication / zipを取得します。

lisak:

tika-coreのデフォルトのバイトパターン検出ルールは、すべてのMS Officeドキュメントタイプで使用される一般的なOLE2またはZIP形式のみを検出できます。この種の検出機能にはContainerAwareDetectorを使用したいとします。そして、フォールバック検出器としてMimeTypes検出器を使用します。これを試して :

public MediaType getContentType(InputStream is, String fileName) {
    MediaType mediaType;
    Metadata md = new Metadata();
    md.set(Metadata.RESOURCE_NAME_KEY, fileName);
    Detector detector = new ContainerAwareDetector(tikaConfig.getMimeRepository());

    try {
        mediaType = detector.detect(is, md);
    } catch (IOException ioe) {
        whatever;
    }
    return mediaType;
}

このようにして、テストに合格する必要があります

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Apache Tikaを使用してPDFの要素のスタイル情報を取得するにはどうすればよいですか?

分類Dev

Apache Tika-JSON / PDF固有のMIMEタイプを検出します

分類Dev

Stormcrawler:PDFプロパティを解析するためのApache Tika

分類Dev

Apache Tikaを使用してドキュメントファイルからすべてのスタイルを取得する方法はありますか?

分類Dev

OSXMavericks-サブドメインでApacheをセットアップする

分類Dev

JavaのApache TikaでHTMLパーサーを使用してすべてのHTMLタグを抽出するにはどうすればよいですか?

分類Dev

Linux上のApacheでサブドメインを設定する

分類Dev

Railsでサブドメインを構成する-apache-passenger

分類Dev

Java / Apache Tika:URLからファイルの最後に変更/作成された属性を取得する方法

分類Dev

Apache Tikaを使用してテーブル情報を抽出することは可能ですか?

分類Dev

Apache Tikaを使用してカスタムContentHandlerを作成するにはどうすればよいですか?

分類Dev

Apache BeamPythonでウィンドウの終了タイムスタンプを取得する方法

分類Dev

Apacheで各ポートをサブドメインに接続する方法

分類Dev

Apacheを使用して特定のURLタイプをブロックする方法は?

分類Dev

Apache Tikaサーバー-ヘッダーパラメーターを要求しますか?

分類Dev

Apacheでプロキシ2サブドメインを単一サーバーにリバースプロキシする

分類Dev

ApacheサーバーでRShinyアプリを実行する

分類Dev

Apache Tika(Scala内)を使用してスライドごとにテキストを抽出するにはどうすればよいですか?

分類Dev

Apache-Tikaで1つの解析に2つのContentHandlerを実行することは可能ですか?

分類Dev

ApacheでさまざまなWebサイトを構成する

分類Dev

Apacheサーバーでexeファイルを実行する

分類Dev

Apacheを使用する

分類Dev

Apacheタイル3で多言語オプションを無効にする

分類Dev

Flask Webアプリで静的ファイルを提供するようにApacheを取得する方法

分類Dev

Apache Artemis:静的クラスター化された永続サブスクリプションを作成するにはどうすればよいですか?

分類Dev

Apache / GunicornでDjango静的ファイルをデプロイする

分類Dev

Java Apache POI-getCellTypeメソッドによって返されるよりも詳細なセルタイプを取得することは可能ですか?

分類Dev

Apacheでドメインをブロックする方法は?

分類Dev

VirtualBoxを介してサイトにサービスを提供するためにApacheを取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    Apache Tikaを使用してPDFの要素のスタイル情報を取得するにはどうすればよいですか?

  2. 2

    Apache Tika-JSON / PDF固有のMIMEタイプを検出します

  3. 3

    Stormcrawler:PDFプロパティを解析するためのApache Tika

  4. 4

    Apache Tikaを使用してドキュメントファイルからすべてのスタイルを取得する方法はありますか?

  5. 5

    OSXMavericks-サブドメインでApacheをセットアップする

  6. 6

    JavaのApache TikaでHTMLパーサーを使用してすべてのHTMLタグを抽出するにはどうすればよいですか?

  7. 7

    Linux上のApacheでサブドメインを設定する

  8. 8

    Railsでサブドメインを構成する-apache-passenger

  9. 9

    Java / Apache Tika:URLからファイルの最後に変更/作成された属性を取得する方法

  10. 10

    Apache Tikaを使用してテーブル情報を抽出することは可能ですか?

  11. 11

    Apache Tikaを使用してカスタムContentHandlerを作成するにはどうすればよいですか?

  12. 12

    Apache BeamPythonでウィンドウの終了タイムスタンプを取得する方法

  13. 13

    Apacheで各ポートをサブドメインに接続する方法

  14. 14

    Apacheを使用して特定のURLタイプをブロックする方法は?

  15. 15

    Apache Tikaサーバー-ヘッダーパラメーターを要求しますか?

  16. 16

    Apacheでプロキシ2サブドメインを単一サーバーにリバースプロキシする

  17. 17

    ApacheサーバーでRShinyアプリを実行する

  18. 18

    Apache Tika(Scala内)を使用してスライドごとにテキストを抽出するにはどうすればよいですか?

  19. 19

    Apache-Tikaで1つの解析に2つのContentHandlerを実行することは可能ですか?

  20. 20

    ApacheでさまざまなWebサイトを構成する

  21. 21

    Apacheサーバーでexeファイルを実行する

  22. 22

    Apacheを使用する

  23. 23

    Apacheタイル3で多言語オプションを無効にする

  24. 24

    Flask Webアプリで静的ファイルを提供するようにApacheを取得する方法

  25. 25

    Apache Artemis:静的クラスター化された永続サブスクリプションを作成するにはどうすればよいですか?

  26. 26

    Apache / GunicornでDjango静的ファイルをデプロイする

  27. 27

    Java Apache POI-getCellTypeメソッドによって返されるよりも詳細なセルタイプを取得することは可能ですか?

  28. 28

    Apacheでドメインをブロックする方法は?

  29. 29

    VirtualBoxを介してサイトにサービスを提供するためにApacheを取得するにはどうすればよいですか?

ホットタグ

アーカイブ