Action para Download no IE

Olá. A um bom tempo atrás tive problemas ao implementar um action no struts que devolvia um arquivo para o navegador (IE) no response. O arquivo estaria armazenado em um db e não salvo em disco. Na verdade o seguinte código funciona muito bem no FF:

//...							res.setContentType("application/octet-stream");
res.setContentLength((int) file.length());
res.setHeader("Content-Disposition",								"attachment; filename=\""										+ doc.getNmDocumento() + "\"");
BufferedInputStream bis = new BufferedInputStream(				new FileInputStream(file));
ServletOutputStream sos = res.getOutputStream();
byte[] buf = new byte[1024];
int count = 0;
while ((count = bis.read(buf)) >= 0) {
sos.write(buf, 0, count);
}
bis.close();
sos.flush();
sos.close();

Como uso Struts isto poderia estar direto em um action, mas o action na verdade deve necessariamente fazer um redirect para um servlet que executa a função que citei. Se isto não for feito, no ie, quando o link de download invocar o action não haverá resposta (lembro que funciona perfeitamente no FF). Se não me engano isto é um problema com o IE. Gostaria de saber se há uma outra forma de contornar este problema (se fazer o redirect). E se alguém sabe exatamente porque isto ocorre.

Grato T+