filedownload.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #include "filedownload.h"
  2. FileDownLoad::FileDownLoad(QString url)
  3. {
  4. this->url = url;
  5. }
  6. void FileDownLoad::replyFinished(QNetworkReply *reply)
  7. {
  8. QTextCodec *codec;
  9. QVariant var = reply->header(QNetworkRequest::ContentTypeHeader);
  10. QString codeType = var.toByteArray();
  11. int index = codeType.size() - codeType.lastIndexOf("=") - 1;
  12. codeType = codeType.right(index);
  13. codec = QTextCodec::codecForName(codeType.toAscii());
  14. qDebug() << "The type of html code is " << codeType;
  15. file_content = reply->readAll();
  16. stop =true;
  17. }
  18. void FileDownLoad::run()
  19. {
  20. QUrl url(url);
  21. //qDebug() << "Reading config form " << http_url;
  22. file_content = "";
  23. qRegisterMetaType<QNetworkReply*> ("QNetworkReply*");
  24. QNetworkAccessManager *manager = new QNetworkAccessManager();
  25. QObject::connect(manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(replyFinished(QNetworkReply*)));
  26. //QObject::connect(this,SIGNAL(finished1()),&loop,SLOT(quit()));
  27. manager->get(QNetworkRequest(url));
  28. while(!stop)
  29. {
  30. ;
  31. }
  32. emit downloadFinished(file_content);
  33. deleteLater();
  34. }