Pessoal, por motivo desconhecido o meu método de Upload, após a atualização do Eclipse, parou de funcionar, na hora de gravar ele grava o nome no arquivo.extensão mas sem conteúdo algum.
Usando o System.out.println(), achei o ponto onde dá o erro:
Antes do ponto
public String getIncluir() throws SQLException, IOException{
try {
BLOB blob = null;
OutputStream outstream = null;
PreparedStatement sql = null;
ResultSet resSet = null;
conecta();
//get new id
sql = conn.prepareStatement(" SELECT sigma_proj.sq_anexo_forum.nextval"
+ " FROM dual");
resSet = sql.executeQuery();
if (resSet.next()) {
id = new Integer( (int)resSet.getInt(1));
}
// insert new row
// The LOB column value is initialized to empty in this step,
// and will be loaded in the steps below.
sql = conn.prepareStatement(" INSERT INTO sigma_proj.anexo_forum VALUES "
+ " (" + id + ",?,?,?, empty_blob())");
sql.setInt(1,id_perguntas);
sql.setString(2, nome_arquivo);
sql.setString(3, descricao);
sql.executeUpdate();
mensagem = "Incluido";
conn.setAutoCommit(false);
//Execute the query and lock the BLOB row.
sql = conn.prepareStatement("SELECT arquivo FROM sigma_proj.anexo_forum WHERE id_anexo_forum = " + id + " For Update");
ResultSet rs = sql.executeQuery ();
rs.next();
//Get the BLOB locator.
blob = ((OracleResultSet)rs).getBLOB(1);
System.out.println("Pegando arquivo no diretório temporário");
Onde gera exceção
File binFile = new File(PropertiesLoaderImpl.getValor("dir_temp")+nome_arquivo);
FileInputStream instream = new FileInputStream(binFile);
//Insert to the BLOB from an output stream.
outstream = blob.getBinaryOutputStream();
//Read the input stream and write the output stream by chunks.
byte[] chunk = new byte[blob.getChunkSize()];
int i=-1;
while((i = instream.read(chunk))!=-1){
outstream.write(chunk,0,i);
}
//Close the input and output stream.
instream.close();
outstream.close();
//Close the statement.
sql.close();
System.out.println(binFile);
File file = new File(PropertiesLoaderImpl.getValor("dir_temp")+nome_arquivo);
System.out.println(file);
file.delete();
}finally {
try{conn.close();System.out.println("Após desconectar");}
catch(Exception e){e.printStackTrace();}
}
return mensagem;
}
Exceção gerada:
java.io.FileNotFoundException: C:\Tomcat\webapps\metasuporte\WebContent\anexos\tigre.jpeg (O sistema não pode encontrar o arquivo especificado)
O caminho é especificado num arquivo .properties :dir_temp=C:/Tomcat/webapps/metasuporte/WebContent/anexos/ e está correto, já até tentei colocando C:/temp mesmo assim dá o erro.
Alguém saberia me dizer o que seria ??? pois estava funcionando normalmente, e do nada parou !!!
Obrigado galera.