Boa tarde galera. Estou com um problema aqui que está me tirando o sono.
Já revirei o forum e o google atras de informações mas não estou conseguindo resolver.
Vamos lá… vou tentar resumir o problema:
Tenho uma aplicação web em que o usuário vai fazer o download de um relatório em formato csv e xml. Até ai, sussa.
O problema é quando eu tento fazer esse donwload de qualquer estação que não seja o servidor.
No servidor, abre normalmente o ambiente para selecionar diretorios do JFileChooser.
Mas gostaria que salvasse na máquina do usuário que está fazendo a pesquisa, e não no servidor.
Entenderam?
A aplicação está no 192.168.1.1 e quando acesso pelo 192.168.1.10 e tento fazer o download pelo JFileChooser, ele abre o box do “salvar como” no 192.168.1.1;
Andei pesquisando sobre JNLP mas não é bem isso que eu preciso, encontrei esse link (http://www.coderanch.com/t/252452/Applets/java/JFileChooser-applet) com algo que parece a solução, mas não consigo fazer funcionar no meu caso.
Agradeço qualquer ajuda
segue codigo
[code] JFileChooser escolha = null;
String formatoExtensao = null;
Iterator<?> it2 = lista.iterator();
for (; it2.hasNext();)
{
// Caso seja XML
usuarioXML = new Usuario();
usuarioXML = (Usuario) it2.next();
dados += xstream.toXML(usuarioXML);
}
escolha = new JFileChooser();
escolha.setFileFilter(new xmlFilter());
formatoExtensao = ".xml";
// Salvando arquivos
try
{
escolha.setDialogTitle("Salvar arquivos para cobrança");
escolha.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int valor = escolha.showSaveDialog(null);
if (valor == JFileChooser.APPROVE_OPTION)
{
File salvar = escolha.getSelectedFile().getAbsoluteFile();
FileWriter fw = new FileWriter(salvar + formatoExtensao);
fw.write(dados);
fw.flush();
fw.close();
}
}
catch (Exception e)
{
e.printStackTrace();
}[/code]
Filtro XML
[code]public class xmlFilter extends FileFilter
{
private final static String xml = “xml”;
/** construtor vazio da classe */
public xmlFilter()
{
}
public boolean accept(File f)
{
if (f.isDirectory())
{
return true;
}
String extension = getExtension(f);
if (extension != null)
{
if (extension.equals(xml))
{
return true;
}
else
{
return false;
}
}
return false;
}
// a desc. dos tipos de arquivos que irão aparecer no jfilechooser
public String getDescription()
{
return "*.xml";
}
public static String getExtension(File f)
{
String ext = null;
String s = f.getName();
int i = s.lastIndexOf('.');
if (i > 0 && i < s.length() - 1)
{
ext = s.substring(i + 1).toLowerCase();
}
return ext;
}
}[/code]