TEMPLATE = app

QT += qml quick widgets
#LIBS += -lPocoFoundation -lPocoXML -lPocoNet
SOURCES += main.cpp \
    tnet.cpp

RESOURCES += qml.qrc

# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =

# Default rules for deployment.
include(deployment.pri)
INCLUDEPATH += $$(PocoPath)
android{
    LIBS += -L$$(PocoPath)/So -lPocoFoundation -lPocoXML -lPocoNet
}else:unix
{
    LIBS += -lPocoFoundation -lPocoXML -lPocoNet
}
HEADERS += \
    tnet.h

#include "tnet.h"
#include <QJsonObject>
#include <QString>
#include <QFile>
TNet::TNet(QObject *parent) : QObject(parent)
{
//    QJsonObject             value;
//    value.insert("op","upload");
//    value.insert("token","dsa")
//    value["cid"]            = cid;
//    value["name"]            = name;
//    value["catalog"]        = catalog;
//    value["notes"]            = notes;
//    value["tags"]            = tags;
//    value["public"]            = ispublic ? 1 : 0;
//    value["huodong"]        = activity;
//    value["jiedan"]            = compete;
//    Poco::URI purl("http://api.yiqibian.com");
//    HTTPRequest req(Poco::Net::HTTPRequest::HTTP_POST);
//    Poco::Net::HTTPClientSession session(purl.getHost(), purl.getPort());
//    Poco::Net::HTTPRequest req(Poco::Net::HTTPRequest::HTTP_POST, purl.getPath(), Poco::Net::HTTPMessage::HTTP_1_1);
//    std::cout<<session.sendRequest(req);
//    try
//    {
//        session.sendRequest(req);
//    }
//    catch(Poco::Net::NetException& ex)
//    {
//        std::cout<<"have err"<<std::endl;
//        std::cout<<"post wrong: "<<ex.displayText()<<std::endl;
//    };
}

void TNet::VisitDic(QString path)
{
    // cd"/lk/os/movdo/a1"
    QString curFtpPath="/";

QStringList pathlist;
    pathlist=path.split("/");

FTPClientSession client;
    client.open("192.168.7.254",21,"xprins","xprins");
    client.setWorkingDirectory("/");
    foreach(QString curpath,pathlist)
    {
        if(curpath==""||curpath=="lk")
            continue;
        try
        {
            if(curFtpPath=="/")
            {
                client.setWorkingDirectory((curFtpPath+curpath).toStdString().c_str());
                curFtpPath=(curFtpPath+curpath);
            }
            else
            {
                client.setWorkingDirectory((curFtpPath+"/"+curpath).toStdString().c_str());
                curFtpPath=(curFtpPath+"/"+curpath);
            }
        }
        catch(...)
        {
            client.setWorkingDirectory(curFtpPath.toStdString().c_str());
            client.createDirectory(curpath.toStdString().c_str());
            if(curFtpPath=="/")
            {
                curFtpPath=(curFtpPath+curpath);
            }
            else
            {
                client.setWorkingDirectory((curFtpPath+"/"+curpath).toStdString().c_str());
                curFtpPath=(curFtpPath+"/"+curpath);
            }

client.setWorkingDirectory(curFtpPath.toStdString().c_str());
        }
    }
    QFile file("/home/jixiang/图片/13062621267520.jpg");
    if (!file.open(QIODevice::WriteOnly))
        return;
    //begin upload
    std::ostream& os=client.beginUpload("13062621267520.jpg");
    client.endUpload();
    client.close();
}

import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import TNet 1.0
ApplicationWindow {
    title: qsTr("Hello World")
    width: 640
    height: 480
    visible: true

TNet
    {
        id:tnet;
    }
    Rectangle
    {
        anchors.fill: parent;
        color:"black";
        MouseArea
        {
            anchors.fill: parent;
            onClicked: tnet.VisitDic("/hoho/sobey/MoVdo");
        }
    }
}

Poco之ftp目录切换与创建的更多相关文章

  1. 遍历FTP目录及下载

    操作ftp,直接在main方法中即可操作. 例1:遍历ftp目录中的文件 public static void main(String[] args) throws IOException { FTP ...

  2. Linux下wget下载整个FTP目录(含子目录)--转载

    wget -nH -m --ftp-user=your_username --ftp-password=your_password ftp://your_ftp_host/* 解释:-nH:不创建以主 ...

  3. linux ftp虚拟用户的创建

    学习目标: 匿名用户的登录,添加用户的登录,虚拟用户的创建. 虚拟用户的创建: 1.安装:yum -y install vsftpd    服务端 yum -y install ftp         ...

  4. 递归删除本地目录和ftp目录

    本地目录: void CAutoDelete::DoRecursionLocalDelete(CString& localDirectory) { CFileFind finder; CStr ...

  5. Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录

    1. 启动VSFTP服务器 A:cenos下运行:yum  install  vsftpd B. 登录Linux主机后,运行命令:”service vsftpd start” C. 要让FTP每次开机 ...

  6. Linux之目录的操作(创建、移动、改名、删除、复制)

    .创建 mkdir [dirname] //创建单个目录 mkdir -p newdir1/newdir2/newdir3 //递归创建多级目录 mkdir dir1/dir2/newdir3 //在 ...

  7. Windows 下目录切换以及挂载小技巧

    Windows 下目录切换以及挂载小技巧 一.前言: 作为几年的 Linux 老用户,再购买了一款新的本本只支持 Windows(主要是Linux下的驱动)操作系统后,加之发现 Windows 提供 ...

  8. Linux课程---5、常用文件命令和目录命令(创建文件命令)

    Linux课程---5.常用文件命令和目录命令(创建文件命令) 一.总结 一句话总结: touch file1 1.管道符|有什么用? 将前一个命令的结果作为后一个命令的输入:比如查看文件前3行:ca ...

  9. 【转】Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录

    转自:http://blog.csdn.net/cloudday/article/details/8640234   1. 启动VSFTP服务器 A:cenos下运行:yum  install  vs ...

随机推荐

  1. Visual C++ 2012/2013的内存溢出检測工具

    在过去,每次编写C/C++程序的时候,VLD差点儿是我的标配.有了它,就能够放心地敲代码,随时发现内存溢出. VLD最高可支持到Visual Studio 2012.不知道以后会不会支持Visual ...

  2. Cocos2d-x滚动列表具体解释(CCScrollView的使用)

    今天要写一个滚动列表功能,类似以下这样.(图片资源都是自己从天天酷跑里面抠的,仅用于学习方便) 首先,这样一个列表就和iOS里面的UITableView没什么两样,当然,Android中肯定也存在类似 ...

  3. AndroidStaggeredGrid

    https://github.com/etsy/AndroidStaggeredGrid

  4. PERCONA-TOOLKIT : pt-ioprofile分析IO情况

    针对IO密集型应用做系统调优的时候,我们通常都需要知道系统cpu  内存  io 网络等系统性能 和 使用率,结合应用本身的访问量,以及 mysql的性能指标来综合分析.比如说:我们将系统压力情况分为 ...

  5. PullToRefreshScrollView 修改下拉刷新图标

    我的修改比较简单暴力.网上查了一番,貌似大家都没有改,无奈,查了一下源码.发现如下资源目录: 在看看我们的布局文件,此三个图片就是下拉刷新的三种图标 好吧,flip就是我目前的下拉刷新图片,对应的也就 ...

  6. QT事件

    qtevents多线程工作object存储 Another Look at Events(再谈Events) 最近在学习Qt事件处理的时候发现一篇很不错的文章,是2004年季刊的一篇文章,网上有这篇文 ...

  7. mvn命令安装jar包--转

    有的jar通过pom配置文件不能下载,比如oracle的jdbc连接jar就是,这个时候需要通过mvn的安装命令进行手动安装jar.命令是: mvn install:install-file -Dfi ...

  8. linux上安装memcached

    我的版本为Centos Release 5.3 (Final)使用这个命令可以知道你的Linux版本1.cat /etc/redhat-release首先要安装libevent库.cd /usr/lo ...

  9. 可拖拽重排的CollectionView

    来源:wazrx 链接:http://www.jianshu.com/p/8f0153ce17f9 写在前面 这段时间都在忙新项目的事儿,没有时间倒腾,这两天闲下来,想着一直没有细细的研究Collec ...

  10. .Net设计模式_工厂模式(3)

    3.抽象工厂模式 引言: 我们知道汽车需要很多部件才能组装成一辆成品的车,那么我们需要汽车厂生产很多东西,如:马达.车轴.轮胎等,这些东西组装起来后成为了一辆车. 这些东西就是产品族,图解:(出之ht ...