有关ftp文件传送的编程问题

发布于 2022-07-24 22:09:59 字数 1313 浏览 13 评论 5

我写的ftp客户端程度,对于传送文件的时候,我的实现如下:
#define MAX_FILE_LEN 65536
bool uc_FtpClient::ftpSendFile(const std::string& strFilePath)
{
        std::cout << "begin read file" << std::endl;
        char cFile[MAX_FILE_LEN];
        memset( cFile, 0, sizeof(cFile) );
       
        long fileLen = m_Objfile.ReadStreamFile(strFilePath, cFile, MAX_FILE_LEN);
        if ( 0 > fileLen )
        {
                std::cout << "Read File Failed!" << std::endl;
                return -1;
        }

        std::cout << "File:" << strFilePath << "  Len:" << fileLen << std::endl;
        bool bRet = m_objSock.SendData( cFile, fileLen );
       
        return bRet;
}
其中m_Objfile是二进制文件读写的类对象。m_objSock是ftp的数据通道socket类对象。
但只能传送几K大小的文件,如果我要传送几M,几百M甚至几G的文件,该怎么如何实现?请各位大侠指点一二

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

谁的新欢旧爱 2022-07-27 14:57:50

看c版

七颜 2022-07-27 14:57:08

能不能把相关的代码段贴上来,或者讲一下机制。谢谢

挽你眉间 2022-07-27 11:39:57

char cFile[MAX_FILE_LEN]; 这样能做到几G?你的栈空间可够大的!根本做不到。

我最近写的MultiGet多线程下载器里实现了ftp下载,可以下大文件,你可以看看,就不细说了。

抱着落日 2022-07-26 15:38:40

大哥,这跟文件类简单与否好像没关系吧?主要是实现的机理应该如何

长亭外,古道边 2022-07-26 10:45:06

不要用如此简单的文件类。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文