April 4, 2012

gdouglas7 gdouglas7
Lab Rat
19 posts

[RESOLVIDO] Enviar para FTP arquivo PDF

 

Consigo enviar o arquivo, porém o arquivo chega ao servidor ftp com tamanho 0K, sendo que o arquivo original tem 8k. Se alguém puder ajudar, segue o codigo:

  1.  ftp = new QFtp(this);
  2.         connect(ftp, SIGNAL(commandFinished(int,bool)), this, SLOT(mftp(int, bool)));
  3.         status = ftp->connectToHost("192.167.7.45",21);
  4.         status = ftp->login(usuario,senha);
  5.         status = ftp->cd("/");
  6.         if(status != QFtp::Connected)
  7.             qDebug()<< "erro"<< status;
  8.         status = ftp->put(arq, filename);
  9.         ftp->close();
  10.         arq->remove();
 Signature 

Qt Developer
Student of Information System

4 replies

April 4, 2012

francomartins francomartins
Lab Rat
66 posts

Foi mau não colocar antes , mais acho que a unica coisa que tu não fez , foi abrir o arquivo
;

outra coisa o
arq->remove();

deleta o arquivo que vc abriu pra enviar . heheheh , perdi dois fazendo teste . :)

O meu Ficou Assim :

  1.     int status;
  2.     QFile *fila = new QFile(ui->leorigem->text());
  3.     fila->open(QFile::ReadOnly);
  4.     QString nomeArq = ui->leorigem->text().mid(ui->leorigem->text().lastIndexOf("/"),ui->leorigem->text().size());
  5.     ftp = new QFtp(this);
  6.     connect(ftp, SIGNAL(commandFinished(int,bool)), this, SLOT(mftp(int, bool)));
  7.     status = ftp->connectToHost(ui->leserver->text(),ui->leporta->text().toInt());
  8.     status = ftp->login(ui->leuser->text(),ui->lepass->text());
  9.     status = ftp->cd(ui->ledir->text());
  10.     if(status != QFtp::Connected)
  11.         qDebug()<< " erro "<< status;
  12.     status = ftp->put(fila, nomeArq);
  13.     ftp->close();
  14.     fila->close();

Se Alguem precisar do Fonte completo , é so falar !!! , heheheh :)

April 9, 2012

gdouglas7 gdouglas7
Lab Rat
19 posts
O erro foi exatamente o que tu disse franco, abri o arquivo, so não estava no codigo acima, o erro era pq estava removendo o arquivo antes de terminar o processo todo de envio para ftp. segue codigo:

  1.         ftp = new QFtp(this);
  2.         connect(ftp, SIGNAL(commandFinished(int,bool)), this, SLOT(mftp(int, bool)));
  3.         status = ftp->connectToHost("192.167.7.45",21);
  4.         status = ftp->login(usuario,senha);
  5.         status = ftp->cd("/");
  6.         if(status != QFtp::Connected)
  7.             qDebug()<< "erro"<< status;
  8.         status = ftp->put(arq, filename);
  9.         ftp->get(filename);
  10.         ftp->close();
  11.         arq->remove();

utilizo o get() para verificar se o arquivo foi enviado com sucesso para o servidor. =]

 Signature 

Qt Developer
Student of Information System

April 19, 2012

Flavio Portela Flavio Portela
Ant Farmer
141 posts

boa noite amigo, para que os demais possam encontra esse post como solucionado, edita o titulo do post e colocar ele como [RESOLVIDO] [SOLVED]

 Signature 

Flavio Portela

April 19, 2012

gdouglas7 gdouglas7
Lab Rat
19 posts

valeu

 Signature 

Qt Developer
Student of Information System

 
  ‹‹ [RESOLVIDO]Correção para Tela preta no android      Qt-Project: Ferramenta de revisão de código deixa de exigir login ››

You must log in to post a reply. Not a member yet? Register here!