Boa tarde,
Estou criando um gerador de relatórios e a interface é bem simples:
- JSP com form dos filtros a ser preenchidos e o submit indo pra action;
- Action conforme abaixo:
@Result(name = "ok", type = "stream", params = {
"contentType", "application/octet-stream", "inputName", "arquivo", "contentDisposition", "attachment; filename=relatorio.xls", "bufferSize", "1024"
})
public class GeraRelatorioAction {
...
Meu problema é que o octet-stream funciona de formas diferentes dependendo do browser a ser utilizado. Por exemplo no Chrome o download automaticamente começa e vai para o diretório definido nas configurações dele, no Opera aparece para escolher onde salvar o arquivo… O que eu queria era que independente do browser fosse exibido um popup exigindo onde salvar o arquivo.
Tem alguma forma de fazer isso?
*Edit: Esqueci de dizer, mas estou usando Struts2.
Obrigado.
O MegaUpload resolveu isso de uma forma um pouco grotesca - eles escreveram uma extensão para o Firefox que força a gravar o arquivo no diretório de downloads do cidadão que está querendo baixar aquele episódio do animê 
Como o relatório é em formato XLS, o que ocorre se você, em vez de baixar como application/octet-stream, não invocar diretamente o Excel (caso esteja instalado na máquina do cidadão) usando application/vnd.ms-excel ?
[quote=entanglement]O MegaUpload resolveu isso de uma forma um pouco grotesca - eles escreveram uma extensão para o Firefox que força a gravar o arquivo no diretório de downloads do cidadão que está querendo baixar aquele episódio do animê 
Como o relatório é em formato XLS, o que ocorre se você, em vez de baixar como application/octet-stream, não invocar diretamente o Excel (caso esteja instalado na máquina do cidadão) usando application/vnd.ms-excel ? [/quote]
Acabei de testar usando esse parâmetro e, na minha máquina que não possui Excel instalado (Linux), o comportamento foi idêntico ao octet-stream.