2013-04-26 3 views
0

Я пытаюсь установить размер изображения на странице jsp, которую я вытаскиваю из базы данных.Изменение размера изображения на странице jsp, хранящейся в базе данных

Я могу получить изображение в порядке, но оно заполняет всю страницу.

Каждый знает, как установить размер картины

Благодарности

Вот код у меня есть на моем JSP:

<% 

Blob image = null; 
byte[] imgData = null; 
Connection con; 
String url="jdbc:mysql://localhost:3306/comshopDatabase"; 
String uName="root"; 
String pwd=""; 
Class.forName("com.mysql.jdbc.Driver").newInstance(); 
    con=DriverManager.getConnection(url,uName,pwd); 
    String sql="Select image from images WHERE id = '1' "; 
    PreparedStatement stmt=con.prepareStatement(sql); 

    ResultSet resultset=stmt.executeQuery(); 
while(resultset.next()) 
{ 

    Blob bl = resultset.getBlob("image"); 
    byte[] pict = bl.getBytes(1,(int)bl.length()); 
    response.setContentType("image/jpg"); 
    OutputStream o = response.getOutputStream(); 



%> 
<TABLE BORDER="1"> 
<TR> 
<TH>picture</TH> 
</TR> 
<TR> 


<td>Image</td><td><%o.write(pict);%></td> 
    <%o.flush(); 
    o.close();%> 

<TD> <%= resultset.getString(2) %> </TD> 
<TD><%= resultset.getString(3) %></TD> 
</TR> 
</TABLE> 
<BR> 
<% 
o.flush(); 
o.close(); 
} 
%> 
+0

Это страшная практика. Используйте «сервлет». –

+0

У меня есть сервлет для upoloading, этот код предназначен только для тестирования отображения – d199224

ответ

0

Вы можете использовать image scaling library, банку можно загрузить от here.

Ниже приведен простой пример:

int width =1200, height = 900; 
BufferedImage image = ImageIO.read(<sourceFile>);// You can use InputStream as well here, in place of source file 
BufferedImage thumbnail = Scalr.resize(image, Scalr.Method.SPEED, Scalr.Mode.FIT_TO_WIDTH, 
             width, height , Scalr.OP_ANTIALIAS); 
ImageIO.write(thumbnail, "jpg", new File(<destination file>)); // You can use OutputStream as well in place of destination file 
+0

. Я бы поставил эту часть кода в сервлет BufferedImage image = ImageIO.read (); а затем остальные в jsp? – d199224

+1

Вы должны поместить этот код туда, где хотите изменить размер изображения. Я бы порекомендовал вам поместить этот код в некоторый класс Utility. Из сервлета передайте 'InputStream' в этот метод утилиты и верните измененный размер' OutputStream' – Apurv

Смежные вопросы