コード例 #1
0
ファイル: upmanager.cpp プロジェクト: MellonQ/leechcraft
	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);
		}
	}
コード例 #2
0
ファイル: parse.cpp プロジェクト: pockemul/PockEmul
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 );
}
コード例 #3
0
ファイル: parse.cpp プロジェクト: pockemul/PockEmul
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() );
}
コード例 #4
0
ファイル: filetransferspage.cpp プロジェクト: lawand/droper
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);
        }
    }
}
コード例 #5
0
	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)));
	}
コード例 #6
0
	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 });
	}
コード例 #7
0
ファイル: MainWindow.cpp プロジェクト: Kyrtap/ShareMe
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();
}
コード例 #8
0
ファイル: utils.cpp プロジェクト: mkiol/Ubi
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();
}