• 大小: 70KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-12
  • 语言: 数据库
  • 标签: QFtp  QFtpk  

资源简介

本来是打算用新的类QNetworkAccessManager实现的客户端的文件上传、下载、新建文件夹、重命名、删除和刷新等功能,但是QNetworkAccessManager没有提供原本在QFtp提供的list()、cd()、remove()、mkdir()、rmdir()、rename() 和 rawCommand()等操作,所以无奈之下只能选用了旧版本的QFtp来实现,毕竟既然官方都废弃了QFtp而选用QNetworkAccessManager来代替,那肯定是后者比前者更加可靠稳定。  虽然QFtp在Qt5.0之后就被官方移除了,但是其基本功能还是挺全的,虽然在上传下载文件的时候带中文时会乱码,但也是能解决的。 最近在做一个项目也是用到了QFtp上传文件到别人的服务器,突然就想到了要做一个简单的客户端实现其基本的功能,于是在闲暇时就慢慢的把功能给加上去了,虽然有点简陋但是还是实现了有不少的功能,当然也包括了前面提到上传下载带中文的文件乱码问题。 原文连接:https://blog.csdn.net/Ilson_/article/details/98371848

资源截图

代码片段和文件信息

#include “Global.h“

#include 



QIcon folderIcon()
{
    SHFILEINFOA info;
    if (SHGetFileInfoA(QString(“folder“).toUtf8()
                   FILE_ATTRIBUTE_DIRECTORY
                   &info
                   sizeof(info)
                   SHGFI_SYSICONINDEX | SHGFI_ICON | SHGFI_USEFILEATTRIBUTES))
    {
        return QIcon(QtWin::fromHICON(info.hIcon));
    }

    return QIcon();
}

QIcon fileIcon(QString fileName)
{
    if (fileName.isEmpty())
        return QIcon();

    int index = fileName.lastIndexOf(“.“);
    QString suffix = fileName.mid(index);
    std::string stdSuffix = suffix.toUtf8().constData();

    SHFILEINFOA info;
    if (SHGetFileInfoA(stdSuffix.c_str()
                   FILE_ATTRIBUTE_NORMAL
                   &info
                   sizeof(info)
                   SHGFI_SYSICONINDEX | SHGFI_ICON | SHGFI_USEFILEATTRIBUTES))
    {
        return QIcon(QtWin::fromHICON(info.hIcon));
    }

    return QIcon();
}

QString folderType()
{
    SHFILEINFOA info;
    if(SHGetFileInfoA(QString(“folder“).toUtf8()
                      FILE_ATTRIBUTE_DIRECTORY
                      &info
                      sizeof(info)
                      SHGFI_TYPENAME | SHGFI_USEFILEATTRIBUTES))
    {
        return QString::fromLocal8Bit(info.szTypeName);
    }

    return QString();
}

QString fileType(QString fileName)
{
    if (fileName.isEmpty())
        return QString();

    int index = fileName.lastIndexOf(“.“);
    QString suffix = fileName.mid(index);
    std::string szSuffix = suffix.toUtf8().constData();

    SHFILEINFOA info;
    if(SHGetFileInfoA(szSuffix.c_str()
                      FILE_ATTRIBUTE_NORMAL
                      &info
                      sizeof(info)
                      SHGFI_TYPENAME | SHGFI_USEFILEATTRIBUTES))
    {
        return QString::fromLocal8Bit(info.szTypeName);
    }

    return QString();
}



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1249  2019-08-03 20:24  FtpClient\FtpClient.pro

     文件      14441  2019-08-03 13:05  FtpClient\FtpClient.pro.user

     文件       1983  2019-08-03 10:39  FtpClient\Global.cpp

     文件        253  2019-08-03 10:39  FtpClient\Global.h

     文件      40565  2019-05-12 17:54  FtpClient\logo.jpg

     文件        177  2019-08-02 22:01  FtpClient\main.cpp

     文件      14790  2019-08-03 20:32  FtpClient\MainWnd.cpp

     文件       2132  2019-08-03 13:04  FtpClient\MainWnd.h

     文件       6894  2019-08-03 00:45  FtpClient\MainWnd.ui

     文件        472  2019-08-02 23:40  FtpClient\MyTableWidget.cpp

     文件        372  2019-08-02 23:37  FtpClient\MyTableWidget.h

     文件      76909  2014-11-07 21:04  FtpClient\qftp.cpp

     文件       4810  2019-07-30 20:27  FtpClient\qftp.h

     文件      16667  2014-11-07 21:04  FtpClient\qurlinfo.cpp

     文件       4532  2014-11-07 21:04  FtpClient\qurlinfo.h

     文件         96  2019-08-03 20:24  FtpClient\resource.qrc

     目录          0  2019-08-03 20:32  FtpClient

----------- ---------  ---------- -----  ----

               186342                    17


评论

共有 条评论

相关资源