byte[] data = FileUtils.toByteArray("file.msg"); MagicMatch match = Magic.getMagicMatch(data); String mimeType = match.getMimeType();
MagicMatch match = parser.getMagicMatch(f); System.out.println(match.getMimeType()) ;
byte[] data = someData MagicMatch match = Magic.getMagicMatch(data); System.out.println( match.getMimeType());
MagicMatch match = Magic.getMagicMatch(your_byte_array); String mimeType = match.getMimeType(); if(mimeType.equals("image/x-emf")) { //here is emf } if(mimeType.equals("image/x-wmf")) { //here is wmf }
MagicMatch match = Magic.getMagicMatch(file.getBytes()); System.out.println(match.getMimeType());
File file = new File("/home/bibi/monfichieratester"); InputStream inputStream = new FileInputStream(file); ByteArrayOutputStream byteArrayStream = new ByteArrayOutputStream(); int readByte; while ((readByte = inputStream.read()) != -1) { byteArrayStream.write(readByte); } String mimetype = ""; byte[] bytes = byteArrayStream.toByteArray(); MagicMatch m = Magic.getMagicMatch(bytes); mimetype = m.getMimeType();
private static String perseMimeType(byte[] bytes){ try { MagicMatch match = Magic.getMagicMatch(bytes); String mimeType = match.getMimeType(); return mimeType; } catch (Exception e) { return null; } } }
private String getMimeMagic(Path filePath) { try { final MagicMatch match = Magic.getMagicMatch(filePath.toFile(), true, true); if (match == null) return null; return match.getMimeType(); } catch (MagicParseException | MagicMatchNotFoundException | MagicException e) { return null; } }
private String getMimeType(ExternalReferenceSPI externalReference, InvocationContext context) { if (!mimeTypes.containsKey(externalReference)) { InputStream inputStream = externalReference.openStream(context); try { byte[] bytes = new byte[64]; inputStream.read(bytes); mimeTypes.put(externalReference, Magic.getMagicMatch(bytes, true).getMimeType()); } catch (IOException e) { e.printStackTrace(); logger.debug("Failed to read from stream to determine mimetype", e); } catch (MagicParseException e) { e.printStackTrace(); logger.debug("Error calling mime magic", e); } catch (MagicMatchNotFoundException e) { e.printStackTrace(); logger.debug("Error calling mime magic", e); } catch (MagicException e) { e.printStackTrace(); logger.debug("Error calling mime magic", e); } finally { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); logger.debug("Failed to close stream after determining mimetype", e); } } } return mimeTypes.get(externalReference); }
/** Test the data using a detector. * @param data the data we are testing. * @return if we have a match. */ private boolean testDetector(final ByteBuffer data) { final String detectorClassName = new String(this.match.getTest().array()).trim(); try { final Class<?> detectorClass = classForName(detectorClassName); final Object detectorObject = detectorClass.getDeclaredConstructor().newInstance(); final Method processMethod = detectorClass.getDeclaredMethod("process", byte[].class, //$NON-NLS-1$ Integer.TYPE, Integer.TYPE, Long.TYPE, Character.TYPE, String.class, Map.class); final String[] types = (String[]) processMethod.invoke(detectorObject, data.array(), Integer.valueOf(this.match.getOffset()), Integer.valueOf(this.match.getLength()), Long.valueOf(this.match.getBitmask()), Character.valueOf(this.match.getComparator()), this.match.getMimeType(), this.match.getProperties()); if (types != null && types.length > 0) { // the match object has no mime type set, so set from the detector class processing this.match.setMimeType(types[0]); return true; } } catch (final Throwable e) { java.util.logging.Logger.getLogger("es.gob.afirma").warning(e.toString()); //$NON-NLS-1$ } return false; }
public String getMimetype(File inputFile) { try { final MagicMatch match = getMatch(inputFile); final String mimeType = match.getMimeType(); if ("???".equals(mimeType)) { return guessMimeTypeFromDescription(match); } return mimeType; } catch (MagicMatchNotFoundException e) { LOGGER.debug("Failed to get Mime Type", e); final MimetypesFileTypeMap mimeTypesMap = new MimetypesFileTypeMap(); return mimeTypesMap.getContentType(inputFile); } }
bytes = new byte[64]; inputStream.read(bytes); mimeType = Magic.getMagicMatch(bytes, true).getMimeType(); } catch (IOException e) { e.printStackTrace();
/** * print a magic match * * @param stream DOCUMENT ME! * @param match DOCUMENT ME! * @param spacing DOCUMENT ME! */ public static void printMagicMatch(PrintStream stream, MagicMatch match, String spacing) { stream.println(spacing + "============================="); stream.println(spacing + "mime type: " + match.getMimeType()); stream.println(spacing + "description: " + match.getDescription()); stream.println(spacing + "extension: " + match.getExtension()); stream.println(spacing + "test: " + new String(match.getTest().array())); stream.println(spacing + "bitmask: " + match.getBitmask()); stream.println(spacing + "offset: " + match.getOffset()); stream.println(spacing + "length: " + match.getLength()); stream.println(spacing + "type: " + match.getType()); stream.println(spacing + "comparator: " + match.getComparator()); stream.println(spacing + "============================="); Collection submatches = match.getSubMatches(); Iterator i = submatches.iterator(); while (i.hasNext()) { printMagicMatch(stream, (MagicMatch) i.next(), spacing + " "); } }
/** * print a magic match * * @param stream DOCUMENT ME! * @param match DOCUMENT ME! * @param spacing DOCUMENT ME! */ public static void printMagicMatch(PrintStream stream, MagicMatch match, String spacing) { stream.println(spacing + "============================="); stream.println(spacing + "mime type: " + match.getMimeType()); stream.println(spacing + "description: " + match.getDescription()); stream.println(spacing + "extension: " + match.getExtension()); stream.println(spacing + "test: " + new String(match.getTest().array())); stream.println(spacing + "bitmask: " + match.getBitmask()); stream.println(spacing + "offset: " + match.getOffset()); stream.println(spacing + "length: " + match.getLength()); stream.println(spacing + "type: " + match.getType()); stream.println(spacing + "comparator: " + match.getComparator()); stream.println(spacing + "============================="); Collection<MagicMatch> submatches = match.getSubMatches(); Iterator<MagicMatch> i = submatches.iterator(); while (i.hasNext()) { printMagicMatch(stream, (MagicMatch) i.next(), spacing + " "); } }
matcher.getMatch().getMimeType()); log.debug("getMagicMatch(byte[]): matched " + matcher.getMatch().getMimeType());
matcher.getMatch().getMimeType()); log.debug("getMagicMatch(byte[]): matched " + matcher.getMatch().getMimeType());
MagicDetector detector = (MagicDetector) c.newInstance(); String[] types = detector.process(data.array(), match.getOffset(), match.getLength(), match.getBitmask(), match.getComparator(), match.getMimeType(), match.getProperties());
MagicDetector detector = (MagicDetector) c.newInstance(); String[] types = detector.process(data.array(), match.getOffset(), match.getLength(), match.getBitmask(), match.getComparator(), match.getMimeType(), match.getProperties());
fileType = FileType.SEQ; } else { final String mimeType = Magic.getMagicMatch(header, false).getMimeType(); log.info("File mime Type {}", mimeType); if (FileType.TEXT.getValue().equalsIgnoreCase(mimeType)) {
@Test public void getPhotoInputStream() throws IOException, G3GalleryException, MagicParseException, MagicMatchNotFoundException, MagicException { try { itemClient.getItem(createdPhotoId); }catch(G3ItemNotFoundException ex){ //item does not exist yet, so we need to add it first addPhoto(); } Item item1 = itemClient.getItem(createdPhotoId); String url = item1.getEntity().getFileUrl(); InputStream inputStream = itemClient.getPhotoInputStream(url); //conversion stuff.. ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); ByteStreams.copy(inputStream, outputStream); byte[] photoDownloadedAsAByteArray = outputStream.toByteArray(); // getMagicMatch accepts byte[], String contentType = Magic.getMagicMatch(photoDownloadedAsAByteArray).getMimeType(); // it should be an image file assertEquals("image/png", contentType); }