Click here to Skip to main content
15,880,364 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have used the code below to download a file using http: No errors.

But the file is not get downloaded::

  QUrl url = QUrl::fromUserInput(strUrl);

      QFileInfo fileInfo(url.path());
 
      QString fileName=fileInfo.fileName();
  
      if (QFile::exists(fileName)) {
  
      QMessageBox::information(this, tr("HTTP"),
  
      tr("There already exists a file called %1 in "
  
      "the current directory.")
 .arg(fileName));
   
      }
 
       

      file = new QFile(fileName);

      if (!file->open(QIODevice::WriteOnly)) {

      QMessageBox::information(this, tr("HTTP"),

      tr("Unable to save the file %1: %2.")
 
      .arg(fileName).arg(file->errorString()));

      delete file;

      file = 0;
      }

       

      file.setFileName(fileName);
     file.open(QIODevice::WriteOnly);

      QHttp http;
    QEventLoop loop;
    QFile file;
    QObject::connect(&http, SIGNAL(done(bool)), &loop, SLOT(quit()));

    file.setFileName(filename);
    file.open(QIODevice::WriteOnly);

    http.setHost(url.host(), url.port(80));
    http.get(url.toEncoded(QUrl::RemoveScheme | QUrl::RemoveAuthority), 
&file);

    loop.exec();
Posted

1 solution

You're not checking the error returns on the APIs connect and get (among others). Check what the error code is, and then post here again when you have that information.
 
Share this answer
 
Comments
Gokulnath007 8-Mar-11 7:58am    
Error code is 0 for both the statements.
Hans Dietrich 8-Mar-11 8:10am    
Is 0 a success code or a failure code? In any case, look at the Qt documentation and check why the API could fail.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900