Exemple #1
0
void XMLerLoadUrlThread::onNetworkReply(QNetworkReply* reply)
{
	QString replyString;
	QString fileTemplate;
	fileTemplate.append(QDir::tempPath());
	fileTemplate.append(QDir::separator());
	fileTemplate.append("XMLer");
	tempFile = new QTemporaryFile(this);
	tempFile->setFileTemplate(fileTemplate);
	tempFile->setAutoRemove(true);
	int httpstatuscode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toUInt();
	switch(httpstatuscode)
		{
			case 200:
				if (reply->isReadable())
					{
						if (!tempFile->open())
							{
								replyString = "fail";
								break;
							};
						tempFile->write(reply->readAll());
						tempFile->close();
						replyString = QString("complete.\nTemporary file: %1\n(%2)").arg(tempFile->fileName()).arg(_bytesTotal);
					}
				else replyString = "fail";
				break;
			default:
				if (reply->isReadable())
					{
						replyString = QString("fail.\nReply: %1\n(%2)").\
							arg(reply->readAll().data()).arg(_bytesTotal);
					}
				else replyString = "fail";
				break;
		};
	QString msg = QString("%1 | %2: download %3.").arg(reply->error()).arg(httpstatuscode).arg(replyString);
	emit urlDownloaded(reply->error(), tempFile->fileName(), msg);
	reply->deleteLater();
}
Exemple #2
0
void WebBridgeRS::onUrlDownloaded(){
    FileDownloader * fileDownloader = qobject_cast<FileDownloader *>(QObject::sender());

    //QDir::absoluteFilePath()
    QString fpath = getDownloadDirectory();

    fpath.append("/");
    QString urlstring(fileDownloader->url().toString());
    fpath.append(QFileInfo(urlstring).fileName());
    std::cout << fpath.toStdString() << std::endl;
    QFile file(fpath);
    file.open(QIODevice::WriteOnly);

    file.write(fileDownloader->downloadedData());

    // optional, as QFile destructor will already do it:
    file.close();

    std::cout << fileDownloader->downloadedData().data() << std::endl;
    emit urlDownloaded(fpath, urlstring);

}