Я сохраняю фотографии JPG в таблице базы данных и использую сервлеты Java для их отображения на своих веб-страницах. Когда я сохраняю одну из моих фотографий со своей веб-страницы на рабочем столе, браузер сохраняет фотографию в виде файла BMP, когда он должен сохранить ее в виде файла JPG. И файл BMP составляет 35 МБ, когда он составляет всего 3,4 МБ в базе данных. Кто-нибудь может объяснить, как это могло происходить?
Вот как сервлет подает файл ...
if (resultSet.next()) {
inputStream = resultSet.getBinaryStream(1);
if (!resultSet.wasNull()) {
String mimeType = URLConnection.guessContentTypeFromStream(inputStream);
if (mimeType == null) {
logger.debug("Content Type is image");
response.setContentType("image");
} else {
logger.debug("Content Type is " + mimeType);
response.setContentType(mimeType);
}
line = inputStream.read(buffer);
while (line != -1) {
servletOutputStream.write(buffer, 0, line);
line = inputStream.read(buffer);
}
inputStream.close();
}
}