Eduardo wrote:
> 
> Ola pessoal... estou tentando montar um script em jsp que me retorne uma
> imagem localizada em algum ponto da minha máquina... A alguns diaas eu fiz o
> mesmo com arquivos textos e tudo saiu perfeito... agora o desafio é pegar
> imagens da máquina no usuario para envia-las a um banco...  eu estou fazendo
> mais ou menos assim:
> 
> <%@ page
> import="java.sql.*,java.io.*,java.awt.*,java.awt.image.*,javax.swing.*,java.
> util.*,oracle.jdbc.driver.*,oracle.sql.*,java.math.*" session="true"%>
> 
>    BufferedImage toBufferedImage(Image image);
>        image = new ImageIcon(param_imagem).getImage();
> // onde param_imagem é o endereço da minha imagem
> 
>       BufferedImage bufferedImage = new BufferedImage(
>         image.getWidth(null), image.getHeight(null),
>         BufferedImage.TYPE_INT_RGB);
> 
>       g = bufferedImage.createGraphics();
> 
>   o fato é que quando tento ver a bendita imagem não me vem nada.. ou seja
> não consigo mostrar na tela a imagem percebo que o programa não chegou até a
> imagem...
> 
Você não vai conseguir nunca usar java.awt.* no JSP. JSP não é nada mais
do que um script que gera um servlet. A unica funcão na vida de um
servlet é gerar HTML. HTML não entende nada de java.* mas.
Uma imagem só aparece no Browser com <img src=
No caso <img src= é um segundo request para o servidor. Porém o src pode
ser:
<img src="servlet/MyImgServlet?ndx=my_index">
Ai o servlet deveria fazer uma coisa desta:
      try{
        dbconnection = new
DbConnection("jdbc:mysql://my.server.com:3306/mydb", info);
        connection = (Connection)dbconnection.getConnection();
        Statement smt = (Statement)connection.createStatement();
        String Query = "select image, content from marca_img where ndx="
+ id;
        ResultSet rs = (ResultSet)smt.executeQuery(Query);
        while (rs.next()){
           response.setContentType(rs.getString(2));
           try{
             int BytesRead;
             byte[] buf = new byte[400000];
             InputStream dbin = rs.getBinaryStream(1);
             while (((BytesRead=dbin.read(buf)) != -1)){
               out.write(buf,0,BytesRead);
               out.write(BytesRead);
             }
             out.flush();
             rs.close();
             smt.close();
           } catch (IOException e) {
             e.printStackTrace(System.out);
           }
        }
     }
     catch(SQLException ex){
       ex.printStackTrace();
     }

Sven


-- 
======================================================================================
Sven van 't Veer                                              http://www.cachoeiro.net
Java Developer                                                      [EMAIL PROTECTED] 
 
======================================================================================

------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a