Apanhando inserir no campo blob

Gente eu to conseguindo capturar todas as informações do arquivo .

O problema é que nao estou conseguindo incluir o arquivo no campo Blob do oracle . :sad:

Ja tentei de varias formas e to apanhando … ajude aí quem puder !!!

Agradeço a quem ajudar .

cara…explique melhor o seu problema !!
Codigos, stacktrace, etc

File blobFile = new File("arquivo.jpg");
FileInputStream blobInStream = new FileInputStream(blobFile);
int file_length = (int)blobFile.length();

PreparedStatement insert_prepared = null;

insert_prepared = m_conn.prepareStatement(suaQuery);
insert_prepared.setString(1, id);
insert_prepared.setBinaryStream(2, blobInStream, file_length);
insert_prepared.setString(3, tel);
insert_prepared.executeUpdate();
m_conn.commit();

Eu to fazendo o upload de um arquivo e to querendo incluir ele no banco !!!

O arquivo eu consigo capturar blza , o problema esta na lógica de como eu passar o conteudo deste arquivo para inserir no campo Blob …eu trannformo o arquivo em byte[] .

Como eu faria para transformar para o tipo blob e inserir no banco !?

Vc viu o codigo do meu post anterior ?

Vc não precisa transformar o arquivo em blob, vc precisa ter um FileInputStream

      
       FormFile myFile = formularioArq.getNomeAqruivo(); //capturo o arquivo do formulario jsp

       String fileName    = myFile.getFileName();//o nome 
        
        int fileSize       = myFile.getFileSize();// o tamanha 
        
        byte[] fileData    = myFile.getFileData();//transformo em bytes
     Se eu fizer deste modo , sera que ele vai capturar o conteudo do arquivo e transformar para File  !?

        File blobFile = new File(myFile.getFileName());
      
        FileInputStream blobInStream = new FileInputStream(blobFile);

        int file_length = (int) blobFile.length(); 
     

Mesmo sendo do tipo blob no banco funciona !?

Valeu pela atençaõ

Não…vc não precisa de td isso !!

Você esta usando struts, ne ?
a classe FormFile possui o metodo java.io.InputStream getInputStream() , que ja retorna um stream.

E tambem o metodo getFileSize(), pra pegar o tamanho do arquivo.

Você não precisa passar pra byte !

no seu caso ficaria +/- assim

[code]
FormFile myFile = formularioArq.getNomeAqruivo(); //capturo o arquivo do formulario jsp

int file_length = myFile.getFileSize() ;
PreparedStatement insert_prepared = null;

insert_prepared = m_conn.prepareStatement(suaQuery);
insert_prepared.setString(1, id);
insert_prepared.setBinaryStream(2, myFile.getInputStream() , file_length);
insert_prepared.setString(3, tel);
insert_prepared.executeUpdate();
m_conn.commit(); [/code]

atenção aqui, isto aqui deve realmente interessar

insert_prepared.setBinaryStream(2, myFile.getInputStream() , file_length);

Isso provavelmete não funcionaria !!

Valeu mesmo pela força . Obrigado !