public class TikaMagicByteChecker extends java.lang.Object implements MagicByteChecker
引数で取得した contentType (MimeType) を利用して、ファイルのマジックバイトをチェックする。 オプションでファイル拡張子もチェックする。
本チェック機能を利用する場合は、MimeType検出とMagicByteチェック処理を Tika を利用することを推奨する。 MimeType検出機能で tika を利用する為には WebFrontendService の uploadFileTypeDetector を TikaFileTypeDetector に変更する。
org.iplass.mtp.impl.web.WebFrontendService},
org.iplass.mtp.impl.web.fileupload.TikaFileTypeDetector}| コンストラクタと説明 |
|---|
TikaMagicByteChecker() |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
checkMagicByte(java.io.File tempFile,
java.lang.String contentType,
java.lang.String fileName) |
void |
setCheckExtension(boolean isCheckExtension)
拡張子チェックの実施設定を設定する
true の場合、拡張子チェックを実施する。
|
void |
setFileUploadTikaAdapter(FileUploadTikaAdapter tikaAdapter)
FileUploadTikaAdapter を設定する
設定必須のプロパティ。
|
void |
setReadMagicLength(int readMagicLength)
マジックバイトの読み込みサイズを設定する
MimeType 定義の全体を通した最小のマジックバイトサイズを設定する。
|
void |
setSubstitutionMediaType(java.util.Map<java.lang.String,java.lang.String> substitutionMediaType)
チェック対象のメディアタイプ(コンテンツタイプ)の置換設定
name(key) = 対象のメディアタイプ(コンテンツタイプ)、 value = 置換後のメディアタイプ(コンテンツタイプ)。
|
void |
setThrowExceptionIfFileCannotRead(boolean isThrowExceptionIfFileCannotRead)
チェック対象ファイルを読み取ることができない場合に例外をスローするか
設定値が true の場合、チェック対象ファイルを読み取ることができない場合に例外をスローする。
|
void |
setThrowExceptionIfMimeTypeIsNull(boolean isThrowExceptionIfMimeTypeIsNull)
MimeTypeが取得できない場合に例外をスローするか
設定値が true の場合、MimeTypeが取得できない場合に例外をスローする。
|
public void setFileUploadTikaAdapter(FileUploadTikaAdapter tikaAdapter)
設定必須のプロパティ。
tikaAdapter - FileUploadTikaAdapterpublic void setCheckExtension(boolean isCheckExtension)
true の場合、拡張子チェックを実施する。
isCheckExtension - public void setReadMagicLength(int readMagicLength)
MimeType 定義の全体を通した最小のマジックバイトサイズを設定する。チェックの為にはある程度大きなサイズが必要となる。
デフォルト値は 65536 ( = 64 * 1024 ) 。
Tika のマジックバイト最小値を利用。( org.apache.tika.mime.MimeTypes#getMinLength() )
readMagicLength - マジックバイトの読み込みサイズpublic void setThrowExceptionIfMimeTypeIsNull(boolean isThrowExceptionIfMimeTypeIsNull)
設定値が true の場合、MimeTypeが取得できない場合に例外をスローする。 デフォルト値は false です。
isThrowExceptionIfMimeTypeIsNull - MimeTypeが取得できない場合に例外をスローするかpublic void setThrowExceptionIfFileCannotRead(boolean isThrowExceptionIfFileCannotRead)
設定値が true の場合、チェック対象ファイルを読み取ることができない場合に例外をスローする。 デフォルト値は false です。
isThrowExceptionIfFileCannotRead - チェック対象ファイルを読み取ることができない場合に例外をスローするかpublic void setSubstitutionMediaType(java.util.Map<java.lang.String,java.lang.String> substitutionMediaType)
name(key) = 対象のメディアタイプ(コンテンツタイプ)、 value = 置換後のメディアタイプ(コンテンツタイプ)。
チェック対象のコンテンツタイプは、MimeType として定義されているとは限らない。
個別の Detector で判別された場合、MimeType に定義されていない。
例えば org.apache.tika.parser.iwork.iwana.IWork13PackageParser\\$IWork13DocumentType で定義される "application/vnd.apple.keynote.13" は MimeType 定義として存在しない。
このような MimeType は汎化した定義を取得することができないので、置換するコンテンツタイプを定義できるようにする。
substitutionMediaType - チェック対象のコンテンツタイプの置換設定public void checkMagicByte(java.io.File tempFile,
java.lang.String contentType,
java.lang.String fileName)
checkMagicByte インタフェース内 MagicByteChecker