Boa tarde,
Fiz um service onde guardo um blob (imagem, txt zip etc)…
porem o usuario pode fazer download daquele arquivo posteriormente, até ai beleza…
Fiz um service para o download, que preenche um bean, para fazer o download da imagem… porem o “slot” onde esta guardada a imagem vem nula após o select…
segue o codigo…
public class ServiceManageFileDownload implements AuditableControllerService {
	private AudityCore auditEngine;
	private AuditedUser user;
	public void init(CASHttpServletRequest req, HttpServletResponse resp) throws Throwable {		}
	public void service(CASHttpServletRequest req, HttpServletResponse resp) throws Throwable {
	
		TableTrRmaFile tbRmaFile = TraceUtil.getTable(TableTrRmaFile.class);	
		Long paramIdRmaFile = req.getParameterAsLong("idRmaFile", "");
		
		if (user != null) {
			
			Session session = null;
			BeanRmaFile beanRmaFile = new BeanRmaFile();
			byte [] file = null;
			try {
					session = TraceUtil.createSession();
					Select select = session.select(tbRmaFile);
					select.where(WhereConditions.equal(tbRmaFile.idFile, paramIdRmaFile));
					beanRmaFile = select.getSingleRow(tbRmaFile);
					
					file = beanRmaFile.getSlotFile();
				
			}catch (Exception e) {
				TraceCore.getInstance().getLogger().log(Logger.ERROR_DETAIL_02, e);
				e.printStackTrace();
				session.rollback();
			} finally {
				TraceUtil.close(session);
			}
			
			byte[] bytes = file;
			
			
			resp.setContentType("application/octet-stream");
			resp.setHeader("Content-disposition", "attachment; filename=\"" + beanRmaFile.getNameFile() + "\"");
			resp.getOutputStream().write(bytes);
		}
	}
	public void finish(CASHttpServletRequest req, HttpServletResponse resp) throws Throwable {}
	public Logger getLogger() {
		return TraceCore.getInstance().getLogger();
	}
	public void setAuditEngine(AudityCore auditEngine) {
		this.auditEngine = auditEngine;
	}
	public AudityCore getAuditEngine() {
		return auditEngine;
	}
	public void setUser(AuditedUser user) {
		this.user = user;
	}
	public AuditedUser getUser() {
		return user;
	}
	
}
esse  “beanRmaFile.getSlotFile();” esta pegando a imagem que esta gravada num campo blob do banco…
porem ele retorna nul…
O download começa, baixa o arquivo certo, porem o conteudo a imagem realmente não vem…
O que tem que ser feito, alguem poderia ajudar?
Obrigado!
O que tenho que fazer pra trazer a imagem