У меня есть код для сохранения изображения из массива байтов.Java получить расширение изображения из байтового массива
Я могу успешно сохранить изображение, используя приведенный ниже код.
В настоящее время я сохраняю изображение с форматом «.png», но хочу получить расширение изображения из массива байтов и сохранить изображение с этим расширением.
Вот мой код
public boolean SaveImage(String imageCode) throws Exception {
boolean status = false;
Connection dbConn = null;
CallableStatement callableStatement = null;
try {
String base64Image = imageCode.split(",")[1];
byte[] imageBytes = javax.xml.bind.DatatypeConverter.parseBase64Binary(base64Image);
Properties propFile = LoadProp.getProperties();
String filepath = propFile.getProperty(Constants.filepath);
File file = new File(filepath + "xyz.png");
FileOutputStream fos = new FileOutputStream(file);
try {
fos.write(imageBytes);
} finally {
fos.close();
}
} catch (Exception e) {
throw e;
} finally {
if (callableStatement != null) {
callableStatement.close();
}
if (dbConn != null) {
dbConn.close();
}
}
return status;
}
Я использую Java и Tomcat 8.
Возможный дубликат [Как определить содержимое байта \ [\] является jpeg?] (Http://stackoverflow.com/questions/4550296/how-to-identify-contents-of-a-byte- is-a-jpeg) –
Чтобы расширить это: существует целый список магических чисел, указывающих тип файла: https://en.wikipedia.org/wiki/List_of_file_signatures – Thomas