Salvar pdf campo blob banco dados

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?

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:

blz, vou pesquisar estou usando jdbc

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:

[code]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();[/code]

1 curtida

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

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.

1 curtida

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

Dupliquei mensagem sem querer