ポコのスイッチとFTPディレクトリを作成します

TEMPLATE =アプリ

QT + = QML迅速なウィジェット
#LIBS + = -lPocoFoundation -lPocoXML -lPocoNet
SOURCES + = main.cppに\
    tnet.cppの

リソース+ = qml.qrc

#追加のインポートパスQtの作者のコードモデルの中で解決QMLモジュールに使用
QML_IMPORT_PATH =

#デフォルトは、展開するためのルール。
(deployment.pri)を含む
インクルードパス+ = $$(PocoPath)
アンドロイド{
    LIBS + = -L $$(PocoPath)/だから-lPocoFoundation -lPocoXML -lPocoNet
UNIX:}他
{
    LIBS + = -lPocoFoundation -lPocoXML -lPocoNet
}
ヘッダー+ = \
    tnet.h

 

 

#include "tnet.h"
の#include <QJsonObject>
の#include <QStringの>
する#include <qfileにより>
Tネット:: Tネット(QObjectを*親):QObjectを(親)
{
// QJsonObject値。
// value.insert( "OP"、 "アップロード")。
// value.insert( "トークン"、 "DSA")
//値[ "CID"] = CID。
//値[ "名前"] =名;
//値[「カタログ」] =カタログ。
//値[「ノート」] =ノート。
//値[「タグ」] =タグ。
//値[ "公共"] = ispublic?1:0。
//値[ "huodong"] =活性。
//値[」

// HTTPRequestのREQ(ポコ::ネット:: HTTPRequestの:: HTTP_POST)。
//ポコ::ネット:: HTTPClientSessionセッション(purl.getHost()、purl.getPort());
//ポコ::ネット:: HTTPRequestのREQ(ポコ::ネット:: HTTPRequestの:: HTTP_POST、purl.getPath()、ポコ::ネット:: HTTPMessage :: HTTP_1_1)。
//はstd :: coutの<< session.sendRequest(REQ)。
//は試す
{//
// session.sendRequest(REQ)。
//}
//キャッチ(ポコ::ネット:: NetException&EX)
// {
//はstd :: coutの<< "ERRを持っている" <<はstd ::てendl;
//はstd :: coutの<< "ポスト間違っている:" << ex.displayText()<<はstd ::てendl;
//};
}

ボイドTネット:: VisitDic(QStringのパス)
{
    // CD "/ LK / OS / movdo / A1"


    QStringList pathlistに、
    pathlistに= path.split( "/")。

    FTPClientSessionクライアント。
    client.open( "192.168.7.254"、21、 "xprins"、 "xprins")。
    client.setWorkingDirectory( "/");
    foreachの(QStringのcurpath、pathlistに)
    {
        IF(curpath == "" || curpath == "LK")
            続けます。
        試す
        {
            (curFtpPath == "/")場合
            、{
                (()を.toStdString(curFtpPath + curpath)c_str())client.setWorkingDirectory。
                curFtpPath =(curFtpPath + curpath)。
            }
            他
            {
                クライアント。
                curFtpPath =(curFtpPath + "/" + curpath)。
            }
        }
        キャッチ(...)
        {
            client.setWorkingDirectory(curFtpPath.toStdString()c_str())。
            client.createDirectory(curpath.toStdString()c_str())。
            (curFtpPath == "/")であれば
            {
                curFtpPath =(curFtpPath + curpath)。
            }
            他
            {
                client.setWorkingDirectory((curFtpPath + "/" + curpath).toStdString()c_str())。
                curFtpPath =(curFtpPath + "/" + curpath)。
            }

            client.setWorkingDirectory(curFtpPath.toStdString()c_str())。
        }
    }
    qfileによりファイル( "/ホーム/吉祥/图片/13062621267520.jpg");
    (もし!file.open(のQIODevice ::書き込み専用))
        のリターン;
    //開始アップロード
    のstd :: ostreamに&OS = client.beginUpload( "13062621267520.jpg");
    client.endUpload();
    client.close();
}


 

インポートQtQuick 2.4
インポートQtQuick.Controls 1.3
インポートQtQuick.Window 2.2
インポートQtQuick.Dialogs 1.2
インポートTネット1.0
ApplicationWindow {
    タイトル:QSTR( "Hello World"の)
    幅:640
    、高さ:480
    可視:真

    Tネット
    {
        ID:Tネット。
    }
    長方形
    {
        anchors.fill:親。
        カラー:「黒」。
        MouseArea
        {
            anchors.fill:親。
            onClicked:tnet.VisitDic( "/ HOHO / sobey / MoVdo");
        }
    }
}

90元記事公開 ウォン称賛26 ビューに10万+を

おすすめ

転載: blog.csdn.net/sky_person/article/details/50133381