[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:

       @ ftp = new QFtp(this);
        connect(ftp, SIGNAL(commandFinished(int,bool)), this, SLOT(mftp(int, bool)));
        status = ftp->connectToHost("192.167.7.45",21);
        status = ftp->login(usuario,senha);
        status = ftp->cd("/");
        if(status != QFtp::Connected)
            qDebug()<< "erro"<< status;
        status = ftp->put(arq, filename);
        ftp->close();
        arq->remove();@


  • Foi mau não colocar antes , mais acho que a unica coisa que tu não fez , foi abrir o arquivo
    (arq->open(QFile::ReadOnly);

    outra coisa o
    arq->remove();

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

    O meu Ficou Assim :
    @

    int status;
    QFile *fila = new QFile&#40;ui->leorigem->text(&#41;);
    fila->open(QFile::ReadOnly);
    QString nomeArq = ui->leorigem->text().mid(ui->leorigem->text().lastIndexOf("/"),ui->leorigem->text().size());
    ftp = new QFtp(this);
    connect(ftp, SIGNAL(commandFinished(int,bool)), this, SLOT(mftp(int, bool)));
    status = ftp->connectToHost(ui->leserver->text(),ui->leporta->text().toInt());
    status = ftp->login(ui->leuser->text(),ui->lepass->text());
    status = ftp->cd(ui->ledir->text());
    if(status != QFtp::Connected)
        qDebug()<< " erro "<< status;
    status = ftp->put(fila, nomeArq);
    ftp->close();
    fila->close();
    

    @

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



  • 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:

    @ ftp = new QFtp(this);
    connect(ftp, SIGNAL(commandFinished(int,bool)), this, SLOT(mftp(int, bool)));
    status = ftp->connectToHost("192.167.7.45",21);
    status = ftp->login(usuario,senha);
    status = ftp->cd("/");
    if(status != QFtp::Connected)
    qDebug()<< "erro"<< status;
    status = ftp->put(arq, filename);
    ftp->get(filename);
    ftp->close();
    arq->remove();@

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



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



  • valeu


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.