void UpManager::handleUpFinished (const QByteArray& id, const QString& filePath) { RemovePending (filePath); const auto& e =Util::MakeNotification ("NetStoreManager", tr ("File %1 was uploaded successfully") .arg ("<em>" + QFileInfo (filePath).fileName () + "</em>"), PInfo_); Proxy_->GetEntityManager ()->HandleEntity (e); URLHandlers_ [id] << [this, filePath] (const QUrl& url, const QByteArray&) { emit fileUploaded (filePath, url); }; if (Autoshare_.remove (filePath)) { auto ifl = qobject_cast<ISupportFileListings*> (sender ()); if (!ifl) { qWarning () << Q_FUNC_INFO << "account doesn't support file listings, cannot autoshare"; return; } ifl->RequestUrl (id); } }
QNetworkReply* Parse::uploadFileData(QByteArray data, QString name) { if (!isReady() || data.isEmpty()) return NULL; if (name.isEmpty()) { // compute name from content } setEndPoint( "files/"+name); QMimeDatabase db; QMimeType mime = db.mimeTypeForData(data); initHeaders(); setHeader(QNetworkRequest::ContentTypeHeader, mime.name().toUtf8()); m_conn = connect(this, &BaaS::replyFinished, [=]( QJsonDocument json){ disconnect(m_conn); if ( getHttpCode() == 201 ){ currentObject = json.object(); // Create fileLit object QString mainObj = "{\"url\": \""+currentObject.value("url").toString()+ "\",\"file\": {\"name\": \""+currentObject.value("name").toString()+ ",\"__type\": \"File\"}}"; setEndPoint("classes/FilesList"); create( mainObj); emit fileUploaded( currentObject); } } ); return request( BaaS::POST, data ); }
QNetworkReply* Parse::uploadFile(QUrl url, QString name) { QString filePath = url.toLocalFile(); if (!isReady() || !QFile::exists(filePath)) return NULL; if (name.isEmpty()) name = url.fileName(); setEndPoint( "files/"+name); QMimeDatabase db; QMimeType mime = db.mimeTypeForFile(filePath); QFile file(filePath); if (mime.inherits("text/plain")){ if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return NULL; } else{ if (!file.open(QIODevice::ReadOnly )) return NULL; } initHeaders(); setHeader(QNetworkRequest::ContentTypeHeader, mime.name().toUtf8()); m_conn = connect(this, &BaaS::replyFinished, [=]( QJsonDocument json){ disconnect(m_conn); if ( getHttpCode() == 201 ){ currentObject = json.object(); emit fileUploaded( currentObject); } } ); return request( BaaS::POST, file.readAll() ); }
void FileTransfersPage::handleNetworkReply(QNetworkReply *networkReply) { if(networkReply == downloadNetworkReply) { if(networkReply->error() != QNetworkReply::NoError) setDownloadState(NOT_FINISHED); else setDownloadState(FINISHED); } else if(networkReply == uploadNetworkReply) { if(networkReply->error() != QNetworkReply::NoError) { setUploadState(NOT_FINISHED); } else { setUploadState(FINISHED); QVariantMap metadataMap = QtJson::Json::parse( networkReply->readAll() ).toMap(); emit fileUploaded(metadataMap); } } }
PendingUploadPaster::PendingUploadPaster (QObject *sharer, ICLEntry *entry, const QString& variant, const QString& filename, QObject *parent) : QObject (parent) , Entry_ (entry) , EntryVariant_ (variant) , Filename_ (filename) { connect (sharer, SIGNAL (fileUploaded (QString, QUrl)), this, SLOT (handleFileUploaded (QString, QUrl))); }
void BitcheesePending::handleFinished () { const auto reply = qobject_cast<QNetworkReply*> (sender ()); reply->deleteLater (); deleteLater (); if (reply->error () != QNetworkReply::NoError) return; auto location = reply->header (QNetworkRequest::LocationHeader).toString (); location.chop (qstrlen ("/preview")); emit fileUploaded (Filename_, QUrl { location }); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); connect(&screenshot, SIGNAL(newImageCaptured(QPixmapSharedPtr)), this, SLOT(screenshotCaptured(QPixmapSharedPtr))); connect(&areaCapture, SIGNAL(newImageCaptured(QPixmapSharedPtr)), this, SLOT(screenshotCaptured(QPixmapSharedPtr))); connect(&imgurUploader, SIGNAL(error(QString)), this, SLOT(uploadError(QString))); connect(&imgurUploader, SIGNAL(imageUploaded(QUrl)), this, SLOT(fileUploaded(QUrl))); connect(ui->buttonScreenshot, SIGNAL(clicked()), this, SLOT(captureScreen())); connect(ui->buttonCaptureArea, SIGNAL(clicked()), this, SLOT(captureArea())); connect(&tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(show())); tray.show(); }
void Utils::uploadFinished() { //qDebug() << "uploadFinished"; isFinished = true; if (cur_reply->error() == QNetworkReply::NoError) { emit fileUploaded(cur_filename); } else if (cur_reply->error() == QNetworkReply::OperationCanceledError) { emit operationCanceled(cur_filename); } else { int httpStatus = cur_reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); //QString httpStatusMessage = cur_reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString(); //QByteArray bytes = cur_reply->readAll(); //qDebug() << "status: " << httpStatus << " " << httpStatusMessage; //qDebug() << "bytes: " << bytes; if(httpStatus==503) { emit fileUploaded(cur_filename); } else { //qDebug() << "upload error: " << httpStatus << " " << cur_reply->error() << " " << cur_reply->errorString(); emit uploadError(cur_filename); } } cur_file->close(); delete cur_file; cur_reply->close(); cur_reply->deleteLater(); start(); }