Anexar Arquivos

5 respostas
andre.hebeler

Olá,

procurei no forum e não achei nada q me esclaresse, então estou postando para ver se consigo alguma luz.
Tenho uma aplicação de ordem de serviço, e me pediram para q eu disponibilize uma opção de anexar arquivos, uma tela de erro por exemplo, já procurei na net mas o que eu encontrei são discussões já num estágio avançado, e no meu caso preciso começa do zero. Alguém pode me ajuda com tutoriais ou até mesmo dicas para eu poder pelomenos começa a desenvolver. O sistema é feito em paginas JSP e uso o banco da Oracle.

At,
André Hebeler.

5 Respostas

T
  1. Você precisa fazer um “upload” (basicamente você precisa ter 2 coisas: um botão <input type=“file”> e uma servlet que atenda a esse tipo de requisição.) Esse upload, se não me engano, pode ser feito com algum componente pronto de sua biblioteca de JSF.
  2. Se o arquivo não for muito grande, você pode guardá-lo como um campo “blob” na sua tabela.
andre.hebeler

ok ! já me esclareceu alguma coisa … vc teria algum tutorial q explica mais detalhadamente sobre essa tag e também sobre essa função do banco ???

T

Eu não tenho isso pronto (na verdade, onde estou alocado agora eu não tenho nem o JDK), mas com essas palavras mágicas (Upload e BLOB) é mais fácil achar as coisas.

andre.hebeler

heheheheee … realmente, com as palavras certa agente vai mais longe !!!

andre.hebeler

Só mais uma pequena Duvida!!!

qual q é o tipo a ser trabalhado no java ao inserir o arquivo ??? eu tranformo ele em byte ???
achei esta rotina, mais não consegui entender ela mto bem a ponto de implementa-la no meu codigo !!!

// copia arquivo para campo blob   
Blob blob = rs.getBlob("imagem");   
byte[] bbuf = new byte[1024];   
InputStream bin = new FileInputStream(byteFile);   
OutputStream bout = ((BLOB) blob).getBinaryOutputStream(); // específico driver oracle   
// cout = clob.setCharacterStream(0);   
int bytesRead = 0;   
while ((bytesRead = bin.read(bbuf)) != -1) {   
    bout.write(bbuf, 0, bytesRead);   
}   
bin.close();   
bout.close();

At,
André Hebeler.

Criado 15 de julho de 2008
Ultima resposta 15 de jul. de 2008
Respostas 5
Participantes 2