1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Problemas ao tentar abrir arquivos .pdf, .doc, txt salvos no mysql

Prezados, boa tarde.

A classe para inclusão de arquivos no banco está funcionando corretamente, porém, não consigo recuperá-los. Estou usando o campo jFileChooser. Alguém poderia me dar uma força?

Classe para inserir (funcionando corretamente):

Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/base_dados", "root", "root");

            //Statement stm = con.createStatement();

            String caminho;

            caminho = jFileChooser1.getSelectedFile().getAbsolutePath();


            File arquivo = new File(caminho);

            FileInputStream fis = new FileInputStream(arquivo);


            PreparedStatement ps = con.prepareStatement("INSERT INTO arquivo (arquivo) VALUE (?)");

            ps.setBinaryStream(1, fis, (int) arquivo.length());

            ps.execute();

Classe para recuperar arquivos: A classe abaixo funciona para recuperar imagens, como posso adptá-la para recuperar arquivos como: pdf,txt, doc etc.

Blob image;

            byte[] imgByte;

            ResultSet RS2;

            Class.forName("com.mysql.jdbc.Driver");

            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/base_dados", "root", "root");
            Statement stm = con.createStatement();

            RS2 = stm.executeQuery("SELECT * FROM arquivo WHERE id = 24");

            RS2.next();

            image = (Blob) RS2.getBlob("arquivo");
            imgByte = image.getBytes(1, (int) image.length());
            System.out.println(imgByte);

            ImageIcon icon = new ImageIcon(imgByte);
            jLabel1.setText("");
            jLabel1.setIcon(icon);

            jFileChooser1.setVisible(false);

Muito obrigado!

  • é realmente necessário salvar um pdf no banco de dados ?, não seria mais simples salvar em uma pasta e só salvar no banco o caminho do arquivo ?

    ezequiellorenzatti   14 de mar de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java mysql ou faça a sua própria pergunta.