void FtpApp::downloadFile(QTreeWidgetItem* item) { QString fileName=item->text(0); QString file=QFileDialog::getSaveFileName(this,tr("Save Downloaded File"),"/home/gaurav/Downloads/"+fileName); if(file!=0){ url.setUrl("ftp://ftp.ftpjigs.comze.com/public_html/"+fileName); url.setPort(21); url.setUserName("a1996228"); url.setPassword("11107jigs"); QNetworkRequest download(url); statusLabel->setText("Downloading file...wait!"); JIGSProgressDialog *progressDialog=new JIGSProgressDialog(); progressDialog->show(); progressDialog->setTotal(fileSize[fileName]); progressDialog->setFixedWidth(300); JIGSNetworkReply *qreply=new JIGSNetworkReply(manager->get(download)); JIGSNetworkReply *reply=qreply->getJIGSNetworkReply(); reply->setFileName(file); connect(reply->reply,SIGNAL(downloadProgress(qint64,qint64)),progressDialog,SLOT(setProgress(qint64))); connect(reply->reply,SIGNAL(finished()),progressDialog,SLOT(setProgress())); connect(reply,SIGNAL(downloadedData(QByteArray,QString)),this,SLOT(writeDownloadedFile(QByteArray,QString))); connect(reply->reply,SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(checkError(QNetworkReply::NetworkError))); } }
bool DcFileDownloader::saveData(QString fname) { QByteArray ba = downloadedData(); QFile file(fname); file.open(QFile::ReadWrite); file.write(ba,ba.length()); file.close(); return true; }
void FtpApp::downloadFile() { QInputDialog qid(this); qid.setLabelText("Enter file name:"); qid.exec(); QString fileName = qid.textValue(); if(fileName!=0){ QHash<QString, qint64>::const_iterator i = fileSize.find(fileName); if(i==fileSize.end()) QMessageBox::information(this,"File Not Found","No such file is present on server"); else { QString file=QFileDialog::getSaveFileName(this,tr("Save Downloaded File"),"/home/gaurav/Downloads/"+fileName); if(file!=0){ url.setUrl("ftp://ftp.ftpjigs.comze.com/public_html/"+fileName); url.setPort(21); url.setUserName("a1996228"); url.setPassword("11107jigs"); QNetworkRequest download(url); statusLabel->setText("Downloading file...wait!"); JIGSProgressDialog *progressDialog=new JIGSProgressDialog(); progressDialog->show(); progressDialog->setTotal(fileSize[fileName]); progressDialog->setFixedWidth(300); JIGSNetworkReply *qreply=new JIGSNetworkReply(manager->get(download)); JIGSNetworkReply *reply=qreply->getJIGSNetworkReply(); reply->setFileName(file); connect(reply->reply,SIGNAL(downloadProgress(qint64,qint64)),progressDialog,SLOT(setProgress(qint64))); connect(reply->reply,SIGNAL(finished()),progressDialog,SLOT(setProgress())); connect(reply,SIGNAL(downloadedData(QByteArray,QString)),this,SLOT(writeDownloadedFile(QByteArray,QString))); connect(reply->reply,SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(checkError(QNetworkReply::NetworkError))); } } } }