0

I'm getting MimeType from file name! But i need get MimeType from content of file. how can I do it?

 //**************************
    val file = File(rFile.absoluteFile)
    val mimeType = MediaType.parseMediaType(Files.probeContentType(file.toPath()))
    val isImage = mimeType.isPresentIn(listOf(MediaType.IMAGE_GIF, MediaType.IMAGE_JPEG, MediaType.IMAGE_PNG))
    val isPdf = mimeType.isPresentIn(listOf(MediaType.APPLICATION_PDF))
    val contentDispositionType = if (isImage || isPdf) "inline" else "attachment"
    return ResponseEntity.ok()
        .header(HttpHeaders.CONTENT_DISPOSITION, "$contentDispositionType; filename=${rFile.uploadedFullName}")
        .contentType(mimeType)
        .body(FileUrlResource(file.toURI().toURL()))
 //**************************
Sherzod
  • 303
  • 2
  • 8

1 Answers1

0

I found the code from this link.

byte[] byteArray = ...
InputStream is = new BufferedInputStream(new ByteArrayInputStream(byteArray));
String mimeType = URLConnection.guessContentTypeFromStream(is);

It helps me!

Sherzod
  • 303
  • 2
  • 8