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 .
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 !