Enviar e salvar foto e texto no banco mysql, depois visualizar foto e texto na página web

1 resposta
xptodesativado3

Alguém tem um código modelo que sirva como exemplo para mim enviar e salvar no banco uma foto e texto também?

Quero salvar uma foto em jpg no banco mysql com tamanho máximo até 500 kb, depois visualizar ela em outra página da web. Além da opção salvar deve ter as opções editar e excluir.

Preciso um modelo da página jsp, servlet e página de conexão com o banco.

Alguém pode me ajudar, por favor?

Att;

Panda

1 Resposta

yorgan

Olá,
Não tenho um exemplo completo, mas os metodos para inserir e capturar uma imagem do banco podem ser assim:
Utilize uma coluna do tipo Blob

public byte[] pesquisaLogoUsuario(Integer idUsuario) throws SQLException {
        byte[] imagem = null;
        PreparedStatement ps;
        ResultSet rs;
        String SQL = "SELECT img_catalogo FROM usuaio WHERE id_usuario = ?";
        ps = ConexaoMySQL.getConnection().prepareStatement(SQL);
        ps.setInt(1, idUsuario);
        rs = ps.executeQuery();
        if (rs.next()) {
            //imagem = rs.getBytes(1);
            Blob blob = rs.getBlob("img_catalogo");
            imagem = blob.getBytes(1, (int) blob.length());
        }
        return imagem;
    }

    public boolean atualizarLogoUsuario(Integer idUsuario, byte[] imagem) throws SQLException {
        boolean retorno = false;
    	PreparedStatement ps;
        Connection cn = ConexaoMySQL.getConnection();
        String SQL = "UPDATE usuario SET img_catalogo = ? WHERE id_usuario = ?";
        ps = cn.prepareStatement(SQL);
        ps.setBytes(1, imagem);
        ps.setInt(2, idUsuario);
        retorno = !ps.execute();
        ps.close();
        cn.close();
        return retorno;
    }

Com eles você só precisa transformar o seu File em byte[] para inserir e para visualizar você precisa converter ele novamente para file ou para algum outro tipo de objeto que a sua JSP entenda.

[]´s

Daniel

Criado 11 de fevereiro de 2009
Ultima resposta 11 de fev. de 2009
Respostas 1
Participantes 2