Transferencia de Arquivo

2 respostas
schkr4b

Seguinte…
Quero enviar um arquivo que esta na minha máquina para outras máquinas que façam a requisição deste arquivo…
Para acessar o site e baixar o arquivo o usuario terá de estar na mesma rede que eu e devera entrar no site que esta hospedado na minha maquina…

Exemplo:

http://10.0.0.1:8080/Diretorio

Ai no jsp do diretorio vou ter um link “Clique aqui para baixar” e quando u usuario clicar eu vou enviar um arquivo que esta em determinado diretorio na minha maquina…
Alguem tem alguma ideia de como fazer isso?
Olhei nos sites que da pra implementar com socket… Mas tem alguma outra maneira mais simples?!

2 Respostas

Guitar_Men

Um link apenas não resolveria o seu problema ?? Explique melhor o seu problema…

ORB_de_Souza

Acho que voce poderia implementar um "downloader",tipo esse exemplo via uma action do struts :

String nomeArquivo = request.getParameter("arquivo");
		
			ByteArrayOutputStream os = buscarArquivo(nomeArquivo);
		
			if (os.size() > 0) {
				response.reset();
				response.setContentType("application/x-msdownload");
				response.setHeader("Content-Disposition", "attachment; filename= Temp.txt");
				response.getOutputStream().write(os.toByteArray());
				response.getOutputStream().flush();
				response.getOutputStream().close();
			}

onde :

public static OutputStream buscarArquivo(String nomeArquivo) throws ExceptionChecadaQualquer {
		String caminho = "algum metodo que retorne o caminho do diretorio";

		File arquivoLog = new File(caminho + "diretorioEspecifico/" + nomeArquivo);

		OutputStream baos = null;
		try {
			InputStream inputStream = new FileInputStream(arquivoLog);
		
			baos = new ByteArrayOutputStream();
			byte[] buf = new byte[1024];
			int len;
			while ((len = inputStream.read(buf)) > 0) {
				baos.write(buf, 0, len);
			}
			inputStream.close();
			baos.close();
			
		} catch (FileNotFoundException e) {
			throw new ExceptionChecadaQualquer (e);
		} catch (IOException e) {
			throw new ExceptionChecadaQualquer (e);
		} 
		return baos;
	}

Espero ter ajudado. :slight_smile:

Criado 8 de abril de 2008
Ultima resposta 8 de abr. de 2008
Respostas 2
Participantes 3