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.

Alguem poderia me ajudar???

11 Respostas

vinihds

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!

public void sendFile(HTTPRequest request){
	DiskFileUpload upload = new DiskFileUpload();
	upload.setSizeMax(1024*1024*50);
	List items = upload.parseRequest(request);

	Iterator itr = items.iterator();

	while(itr.hasNext()) {
		FileItem item = (FileItem) itr.next();
	
		if(!item.isFormField()) {
	
			File fullFile  = new File(item.getName());
			String nome = fullFile.getName();//pega o nome do arquivo
			String extensao=nome.substring(nome.length()-3,nome.length());//pega a estenção do arquivo
			System.out.println(nome+"<br>");
			System.out.println(extensao+"<br>");
			if (extensao.equalsIgnoreCase("ZIP")||extensao.equalsIgnoreCase("TAR.GZ")) {
	   		  File savedFile = new File(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…

http://www.guj.com.br/posts/list/102538.java

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 :wink:)

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:

Criado 16 de dezembro de 2008
Ultima resposta 18 de dez. de 2008
Respostas 11
Participantes 5