我在scala中寻找一种方法来检测图像的mimetype为Array [Byte]。 scala中有没有好的库?
br dan
答案 0 :(得分:3)
感谢。
我使用以下代码来解决问题
def detectMimeType(bytes: Array[Byte]): Either[String, String] = {
val c1 = if (bytes.length >= 1) bytes.apply(0) & 0xff else 0x00
val c2 = ...
if (c1 == 'G' && c2 == 'I' && c3 == 'F' && c4 == '8')
Right("image/gif")
else if (c1 == 137 && c2 == 80 && c3 == 78 && c4 == 71 && c5 == 13 && c6 == 10 && c7 == 26 && c8 == 10)
Right("image/png")
else if (c4 == 0xEE && c1 == 0xFF && c2 == 0xD8 && c3 == 0xFF)
Right("image/jpg")
else if (c1 == 0xFF && c2 == 0xD8 && c3 == 0xFF)
Right("image/jpeg")
else
Left("unknown/unknown")
}