Seguinte: tenho um arquivo que esta guardado num banco de dados oracle num campo BLOB. Preciso fazer o usuario fazer o download desse arquivo. Esta quase completo o metodo com um pequeno erro. O arquivo na hora de salvar para a maquina do usuario esta vindo com o nome da pagina jsf na qual o usuario clicou para fazer o download do arquivo. Trecho do codigo a baixo
[code]public void detalharDocumento() {
Blob blob = documento.getArquivo();
	FacesContext facesContext = FacesContext.getCurrentInstance();
	HttpServletResponse res = (HttpServletResponse) facesContext.getExternalContext().getResponse();
	res.setContentType("application/octet-stream");
	res.setHeader("Pragma", "public");
	res.setHeader("Cache-control", "must-revalidate");
	
	ServletOutputStream sos;
	
	try {
		sos = res.getOutputStream();
		sos.write(blob.getBytes(1, (int) blob.length()));
		sos.flush();
		sos.close();
		
		FacesContext.getCurrentInstance().responseComplete();
	} catch (IOException e) {
		WebUtil.error("Ocorreu um erro na entrada/saída de dados");
		e.printStackTrace();
		throw new ApplicationException(e);
	} catch (SQLException e) {
		WebUtil.error("Ocorreu um erro na consulta.");
		e.printStackTrace();
		throw new ApplicationException(e);
	} catch (NullPointerException e) {
		WebUtil.error("Erro ao baixar o arquivo.");
		e.printStackTrace();
		throw new ApplicationException(e);
	}
}[/code]
eu tenho como recuperar o nome desse arquivo porque tambem esta no banco de dados, como faco para setar o nome desse arquivo antes do usuario fazer o download???
[]'s