Получить тип контента из потока в kotlin, Spring - PullRequest
0 голосов
/ 28 января 2020

Я получаю MimeType из имени файла! Но мне нужно получить MimeType из содержимого файла. как я могу это сделать?

 //**************************
    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()))
 //**************************

1 Ответ

0 голосов
/ 28 января 2020

Я нашел код от этой ссылки .

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

Мне это помогает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...