Bom galera to querendo fazer um applet para conseguir enviar os arquivos dos clientes para o servidor por FTP.
Por que eu não posso perder a data de criação dos arquivos e vi que se eu fizer upload por HTTP ele vai criar um arquivo no servidor perdendo essa caractéristica.
Mais vamos lá!!
Eu peguei um artigo aqui no GUJ mesmo sobre como criar um cliente de ftp.
Só que acontece o seguinte, quando eu mando enviar o arquivo ele apenas cria um arquivo de 0kb no servidor…
O que será que esta acontecendo???
Estou usando JDK 1.5 e TomCat 5.5.9
Abaixo está minha classe de ftp
package upload;
import java.io.File;
import java.io.InputStream;
import java.io.FileInputStream;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.commons.net.ftp.FTPClient;
public class ftp {
public String envia(String file) {
String nomeArquivo = null;
FTPClient ftp = new FTPClient();
String retorno;
try {
ftp.connect("150.163.12.55");
//verifica se conectou com sucesso!
if (FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
ftp.login("raphael", "elprado2610");
}
else {
//erro ao se conectar
ftp.disconnect();
retorno = "Conexão recusada";
return retorno;
}
//para cada arquivo informado...
//abre um stream com o arquivo a ser enviado
InputStream is = new FileInputStream(file);
//ajusta o tipo do arquivo a ser enviado
if( file.endsWith(".txt") ) {
ftp.setFileType( FTPClient.ASCII_FILE_TYPE );
} else if( file.endsWith(".jpg") ) {
ftp.setFileType( FTPClient.BINARY_FILE_TYPE );
} else {
ftp.setFileType( FTPClient.ASCII_FILE_TYPE );
}
System.out.println("Enviando arquivo " + nomeArquivo + "...");
//faz o envio do arquivo
ftp.storeFile(file, is);
System.out.println("Arquivo " + file + " enviado com sucesso!");
ftp.disconnect();
System.out.println("Fim. Tchau!");
}
catch (Exception e) {
String erro = "Ocorreu um erro: " + e;
return erro;
}
return "dados enviados com sucesso";
}
}