Upload arquivos no Banco e em disco

4 respostas
Q

bom dia

Estou utilizando o seguinte codigo para gravar em disco

// CLASSE JAVA
package pkgArquivo;

import java.io.*;
import java.io.BufferedReader;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.GenericServlet;
import org.apache.commons.fileupload.*;


public class clsArquivo {

    /** Creates a new instance of clsArquivos */
    public clsArquivo() { }

    public String lerTXT(String __ARQUIVO) throws Exception
    {
        try
        {
            BufferedReader arquivo =  new BufferedReader(new FileReader(__ARQUIVO));
            String str = null;
            int j = 0;

            // Conta quantas linhas tem o arquivo
            // Arqui você pode fazer o que quiser com o arquivo, inclusive a leitura do mesmo
            while((str = arquivo.readLine()) != null) { j++; } str = null;

            arquivo.close();

            return String.valueOf(j);;
        }
        catch(Exception err)
        {
            throw err;
        }
    }
}

// PÁGINA INDEX.JSP
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

<html>
 <head>
 
 <meta http-equiv="Content-Type" content="multipart/form-data; charset=ISO-8859-1">
 <title>UPLOAD</title>
 </head>
 <body style="font-family: Arial; font-size: 12px">
    <form method="post" action="leitura.jsp" enctype="multipart/form-data">
    <table width="100%" cellpadding="0" cellspacing="0" align="center" border="0">
      <tr>
        <td>Selecione o Arquivo</td>
      </tr>
      <tr>
        <td><input type="file" name="arquivo"></td>
      </tr>
      <tr>
        <td><input type="submit" value="Envia"></td>
      </tr>
    </table>
   </form>
 </body>
 </html>

// PÁGINA LEITURA.JSP
 <%@page language="java" %>
 <%@page contentType="text/html; charset=ISO-8859-1"%>
 <%@page pageEncoding="ISO-8859-1"%>
 <%@page import="org.apache.commons.fileupload.*"%>
 <%@page import="java.util.List"%>
 <%@page import="java.io.File"%>
 <%@page import="java.util.Iterator"%>
 <%@page import="java.lang.Object"%>
 <%@page import="javax.servlet.GenericServlet"%>
 <%@page import="pkgArquivo.clsArquivo"%>
  
 <html>
 <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Recepção de arquivo</title>
 </head>
 <body>
    <%
       try
       {
           DiskFileUpload upload = new DiskFileUpload();
           // Limite de 3Mb para o arquivo
           upload.setSizeMax(1024*1024*3);
           
           // Efetua parse do REQUEST para aquisição dos ítens do REQUEST
           List items = upload.parseRequest(request);
           Iterator itr = items.iterator();
           while(itr.hasNext())
           {
               FileItem item = (FileItem) itr.next();
               
               // Verificar se o ítem não é um campo de formulário ou um arquivo para UPLOAD
               if(!item.isFormField())
               {
                   File fullFile = new File(item.getName());
                   // Pega o nome do Arquivo
                   String nome = fullFile.getName();
                   // Pega a extensão do arquivo
                   String extensao = nome.substring(nome.length()-3,nome.length());
                   String arquivo_salvo = fullFile.getName();
                   File savedFile = new File(config.getServletContext().getRealPath("/anexos/"),arquivo_salvo);
                   item.write(savedFile);
                   
                   // Faz a leitura do Arquivo
                   String Arquivo = savedFile.getAbsolutePath();
                   clsArquivo objArquivo = new clsArquivo();
                   
                   Arquivo = objArquivo.lerTXT(Arquivo);
                   out.print(Arquivo);
               }
           }
       }
       catch(Exception err)
       {
           throw err;
       }
 %>
 </body>
 </html>

como eu faço para gravar os registros no Banco ex : Nome do Arquivo e hora no Postgresql

4 Respostas

Q

Alguem ?

V

vc precisa criar uma conexão com o banco de dados

e colocar o caminho dentro de um campo da tabela,

Q

quanto a conexão tranquilo mais e para fazer o insert no banco chamo um Dao para isto como ?

V

veja um exemplo bem basico só do insert
já com a conexão criada.

String sqlinsertcli = "insert into ANUNCIO (NOME_CLI, RAZAO_SOCIAL, CPF, NOME_CONTATO, EMAIL, "+
            "SITE, TELEFONE, PERIODO_CONTRATO, RUA, NUMERO, "+
            "COMPLEMENTO, BAIRRO, CIDADE, CEP, MAPA, NOME_CAT, ANUNCIOS) "+
    			" VALUES ('"+request.getParameter("tf_nome")+
				"','"+request.getParameter("tf_rz")+
				"','"+request.getParameter("tf_cpf")+
				"','"+request.getParameter("tf_contato")+
				"','"+request.getParameter("tf_email")+	
				"','"+request.getParameter("tf_site")+
				"','"+request.getParameter("tf_fone")+
				"','"+request.getParameter("tf_contr")+	
				"','"+request.getParameter("tf_rua")+
				"','"+request.getParameter("tf_n")+				
				"','"+request.getParameter("tf_cp")+
				"','"+request.getParameter("tf_bairro")+
				"','"+request.getParameter("tf_cidade")+
				"','"+request.getParameter("tf_cep")+
				"','"+request.getParameter("tf_map")+						
				"','"+request.getParameter("lista_categorias")+			
				"','"+request.getParameter("tf_anun")+"')";
                   
				   st.executeUpdate(sqlinsertcli);

espero ter ajudado.
abçssssssssss

Criado 15 de julho de 2010
Ultima resposta 16 de jul. de 2010
Respostas 4
Participantes 2