Upload de arquivo .zip ou .tar.gz em aplicação desktop
11 respostas
Adolpho_Alves
Olá, galera.
Eu estou tentando criar um programa desktop capaz de receber um arquivo.zip de um usuário, porem não sei como fazer isso.
A ideia é a seguinte:
O Usuario Localiza o Arquivo.zip ou .tar.gz no micro dele e clica em enviar, o sistema faz o upload desse arquivo para uma url e salva dados descrição e data no banco de dados.
Andei pequisando e achei alguns materiais que usavam JSP e SERVLET, porem meu objetivo é uma aplicação desktop.
como assim vc faz o upload desse arquivo para uma url ?
rubinelli
Para onde você está mandando esse arquivo? É um servidor? Por que você não pode colocar uma aplicação web nele?
Adolpho_Alves
Exatamente, estou mandando um arquivo que pode ser um programa, driver, etc. para uma url que é o servidor de banco de dados tambem, porem este arquivo deve estar compactado. Vamos supor que O usuario seleciona o arquivo e clica em “Enviar”, o sistema envia o arquivo para o url no servidor e inclui no banco de dados um campo para nome e descrição para futura consulta dos usuarios.
Aplicação infelizmente não pode ser web. Senão eu iria usar os jar do tomcat. O sistema é uma aplicação desktop e o cliente (empresa de helpdesk) deseja um modulo para armazenar drivers catalogados e passiveis de pesquisa.
Eu consigo controlar tudo menos o envio do arquivo para a url no servidor, vcs sabem como fazer??? Desde ja Agradeço.
vinihds
vamos por partes…q eu ainda nao consegui entender…
1° só pode enviar um arquivo se estiver compactado ? Ou assim q enviar o arquivo, o programa compacta o arquivo ?
2° vc conseguiu salvar os dados no banco de dados ?
Adolpho_Alves
Primeiramente obrigado por estar me ajudando.
Então o arquivo so pode ser enviado se estiver compactado (o sistema não compacta o arquivo).
A parte do banco de dados não é problema ou consiguo inserir os dados no banco.
aleck
Posta o código de até onde vc conseguiu chegar, ou está esperando alguém “colar” o código fonte pronto pra vc?
Adolpho_Alves
Adolpho Alves:
Exatamente, estou mandando um arquivo que pode ser um programa, driver, etc. para uma url que é o servidor de banco de dados tambem, porem este arquivo deve estar compactado. Vamos supor que O usuario seleciona o arquivo e clica em “Enviar”, o sistema envia o arquivo para o url no servidor e inclui no banco de dados um campo para nome e descrição para futura consulta dos usuarios.
Aplicação infelizmente não pode ser web. Senão eu iria usar os jar do tomcat. O sistema é uma aplicação desktop e o cliente (empresa de helpdesk) deseja um modulo para armazenar drivers catalogados e passiveis de pesquisa.
Eu consigo controlar tudo menos o envio do arquivo para a url no servidor, vcs sabem como fazer??? Desde ja Agradeço.
Adolpho Alves:
Primeiramente obrigado por estar me ajudando.
Então o arquivo so pode ser enviado se estiver compactado (o sistema não compacta o arquivo).
A parte do banco de dados não é problema ou consiguo inserir os dados no banco.
O objetivo é que todos arquivos da url estejam documentados com descrição, isso vai ser acoplado a parte de gestão de conhecimento do sistema.
Adolpho_Alves
aleck:
Posta o código de até onde vc conseguiu chegar, ou está esperando alguém “colar” o código fonte pronto pra vc?
Então eu fiz esse codigo so ele é para WEB, para desktop eu não tenho a menor ideia de como se faz!
publicvoidsendFile(HTTPRequestrequest){DiskFileUploadupload=newDiskFileUpload();upload.setSizeMax(1024*1024*50);Listitems=upload.parseRequest(request);Iteratoritr=items.iterator();while(itr.hasNext()){FileItemitem=(FileItem)itr.next();if(!item.isFormField()){FilefullFile=newFile(item.getName());Stringnome=fullFile.getName();//pega o nome do arquivoStringextensao=nome.substring(nome.length()-3,nome.length());//pega a estenção do arquivoSystem.out.println(nome+"<br>");System.out.println(extensao+"<br>");if(extensao.equalsIgnoreCase("ZIP")||extensao.equalsIgnoreCase("TAR.GZ")){FilesavedFile=newFile(getServletContext().getRealPath("//10.0.9.1/servidor/"),fullFile.getName());item.write(savedFile);}else{System.out.println("Não enviando. Use apenas ZIP ou TAR.GZ");}}}
aleck
Busque como enviar arquivos via FTP com java, é bem simples e deve te servir.
maior_abandonado
não sei se é bem isso que vc quer…mais talvez esse código que o cara me passou seja mais util pra vc…
ai vc pega o arquivo e guarda ele no banco (esse código faz apenas o upload para um endereço na internet que esteja esperando um arquivo, a parte do servidor de receber o arquivo é por sua conta )
Adolpho_Alves
Obrigado pela ajuda, agora eu vo usar as dicas de vocês e ver se eu consiguo. Valeu msm com esse material acredito que eu vou conseguir. :lol: