I try to read file type using two ways. It is working while using ByteArrayInputStream but not FileInputStream
Using FileInputStream with URLConnection,
String fileType = URLConnection
.guessContentTypeFromStream(
new FileInputStream(new File("C:\\image.jpeg"))
); //fileType = null
Using ByteArrayInputStream with URLConnection
String fileType = URLConnection
.guessContentTypeFromStream(
new ByteArrayInputStream(Files.readAllBytes(new File("C:\\image.jpeg").toPath()))
); //fileType = image/jpeg
Why is the difference in the result ?
Also, is there anywhere mentioned to use only ByteArrayInputStream to read the file type?