Salvar pdf campo blob banco dados

7 respostas
W

Preciso salvar um pdf que o usuário escolher em um campo blob do banco de dados em uma aplicação desktop, alguem poderia auxiliar como fazer?

7 Respostas

Nicolas_Fernandes

Opa, wsm, beleza?

Para executar esse procedimento, você deve fazer o seguinte:

  1. Entenda como funcionam os objetos de Stream do JAVA. É através dele que você manipula bytes de arquivos. Procure sobre FileOutputStream e similares;
  2. Você deve usar os objetos acima para pegar o arquivo, ler todos os seus bytes e gravar em um array (byte[]).
  3. Se estiver usando JDBC, você pode usar o PreparedStatement e usar o método setBytes para passar esse array para o banco de dados.
  4. Se estiver usando ORM, defina que o campo é um campo BLOB e defina-o, também, como byte[].

Espero ter ajudado,
fique com Deus! :smiley:

W

blz, vou pesquisar estou usando jdbc

utluiz

Tem uma pergunta semelhante e uma solução nesse link: http://stackoverflow.com/questions/11238927/upload-pdf-file-to-mysql-blob-by-using-java-sql-preparedstatement-without-corrup

O código que funcionou para a pessoa seria assim:
File inFile = new File("arquivo.pdf");
FileInputStream io = new FileInputStream(inFile);

PreparedStatement psmnt = (PreparedStatement) 
con.prepareStatement("INSERT  INTO 2012DOC (CODIGO, DOCUMENTO) VALUES  (?,?)"); 

psmnt.setString(1, "000001");
psmnt.setBinaryStream(2,  (InputStream)io,(int)inFile.length());
psmnt.executeUpdate();
W

Valeu funcionou, e para abrir o arquivo blob no java como faço?

utluiz

ResultSet rs=con.Execute("SELECT DOCUMENTO FROM DOC"); rs.next(); java.sql.Blob blob = rs.getBlob("DOCUMENTO");

Tem o exemplo no mesmo link que postei anteriormente.

W

E para visualizar esse blob que veio do banco de dados, como faço?

W

Dupliquei mensagem sem querer

Criado 10 de outubro de 2012
Ultima resposta 18 de out. de 2012
Respostas 7
Participantes 3