Ниже приведен код JSP, который принимает параметр 'imageName' и выполняет поиск в mySQL в качестве большого двоичного объекта (содержит изображение) в таблице БД;он загружает изображение из mySQL в элемент, расположенный на другой html-странице.
Вызывается из начальной страницы jsp, которая использует следующую кодировку:
<img='validate.jsp?imageName=myBlob...' />
Затем проверяется страница jspследующее:
// Create a connection by using getConnection() method
connection = DriverManager.getConnection(connectionURL, "root", "password");
//
String queryStr = " SELECT image FROM " +
DatabaseNames.IMAGE_TABLE +
" WHERE title = ? ";
stmt = connection.prepareStatement(queryStr);
//
stmt.setString(1, imageName);
//
rs = stmt.executeQuery();
if(rs.next()) {
byte[] bytearray = new byte[1048576];
int size = 0;
sImage = rs.getBinaryStream(1);
response.reset();
response.setContentType("image/jpeg");
while((size = sImage.read(bytearray)) != -1) {
response.getOutputStream().write(bytearray, 0, size);
}
}
} catch (Exception ex) {
out.println("error:" + ex);
} finally {
out.clear();
out = pageContext.pushBody();
try {
// close all the connections.
rs.close();
stmt.close();
connection.close();
} catch (SQLException se) {
out.println("close error:" + se);
}
}
выше работает нормально.Это заменит scr на загруженный блог / изображение.
Что я пытаюсь сделать сейчас, если перенести это на NodeJS с помощью Express, и я больше не использую mySQL в качестве моего бэкэнда.Вместо этого я использую Firebase Storage в качестве моего бэкэнда.
Я пробовал много способов достичь того же результата, но безрезультатно !?
Изображение на последней html-странице никогда не отображает изображение так, как нужно!Вы заставили это работать и / или как заставить это работать?