package io.lumify.tikaMimeType;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.mime.MediaType;
import java.io.BufferedInputStream;
import java.io.InputStream;
public class TikaMimeTypeMapper {
private final LumifyMimeTypeDetector detector;
public TikaMimeTypeMapper() {
detector = new LumifyMimeTypeDetector();
}
public String guessMimeType(InputStream in, String fileName) throws Exception {
Metadata metadata = new Metadata();
metadata.set(LumifyMimeTypeDetector.METADATA_FILENAME, fileName);
MediaType mediaType = detector.detect(new BufferedInputStream(in), metadata);
String mimeType = mediaType.toString();
if (mimeType != null) {
return mimeType;
}
return "application/octet-stream";
}
}