导航:首页 > IDC知识 > c上传文件到ftp服务器

c上传文件到ftp服务器

发布时间:2020-12-28 10:03:47

1、我用CFtpConnection类的成员函数在ftp服务器上创建一个文件夹,可怎么把文件上传到这个创建的文件夹呢?

和本地文件读写类似的

先以读方式打开本地文件,再以写方式打开FTP远程文件,然后读取本地文件至远程文件。

关键代码:

bOpen = m_CFile.Open( m_str_LocalFileName , CFile::modeRead ); 
m_pRemoteFile =  m_pConnect->OpenFile(m_str_remoteFileName, GENERIC_WRITE);
while( (dwRead = m_CFile.Read(pBuf, m_FileLenStep)) > 0 )  
{  
    m_pRemoteFile->Write( pBuf, dwRead );  
  
    m_CurUploadSize += dwRead;  
}

2、你好,这个你解决了吗?C语言如何用FtpPutFile()函数上传文件到Ftp服务器!下载用FtpGetFile()可以!

WinSock?这个很抱歉,由于Windows函数太过复杂,所以我是一窍不通,Socket函数我就知道。

3、求助linux下用C写一个连接FTP服务器上传下

1.Linux下目录复制:本机->远程服务器

1
2

scp -r /home/shaoxiaohu/test1 @192.168.0.1:/home/test2
#test1为源目录,test2为目标目录,@192.168.0.1为远程服务器的用户名和ip地址。

2.Linux下目录复制:远程服务器->本机

1
2

scp -r @192.168.0.1:/home/test2 /home/shaoxiaohu/test1
#@192.168.0.1为远程服务器的用户名和ip地址,test1为源目录,test2为目标目录。

注:如果端口号有更改,需在scp 后输入:-P 端口号 (注意是大写,ssh的命令中 -p是小写)

4、将文件从客户机传输到FTP服务器的过程称为( )

答案是C,客户机通过FTP协议将文件传输到服务器中,这个就是上传啊

5、C语言实现从FTP下载、上传文件

1.C语言可以使用CStdioFile函数打开本地文件。使用类CInternetSession 创建并初始化一个Internet打开FTP服务器文件。
CStdioFile继承自CFile,一个CStdioFile 对象代表一个用运行时函数fopen 打开的C 运行时流式文件。
流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。文本方式提供对硬回车—换行符对的特殊处理。当你将一个换行符(0x0A)写入一个文本方式的CStdioFile 对象时,字节对(0x0D,0x0A)被发送给该文件。当你读一个文件时,字节对(0x0D,0x0A)被翻译为一个字节(0x0A)。
CStdioFile 不支持Duplicate,LockRange,和UnlockRange 这几个CFile 函数。如果在CStdioFile 中调用了这几个函数,将会出现CNoSupported 异常。
使用类CInternetSession 创建并初始化一个或多个同时的Internet 会话。如果需要,还可描述与代理服务器的连接。
如果Internet连接必须在应用过程中保持着,可创建一个类CWinApp的CInternetSession成员。一旦已建立起Internet 会话,就可调用OpenURL。CInternetSession会通过调用全局函数AfxParseURL来为分析映射URL。无论协议类型如何,CInternetSession 解释URL并管理它。它可处理由URL资源“file://”标志的本地文件的请求。如果传给它的名字是本地文件,OpenURL 将返回一个指向CStdioFile对象的指针。
如果使用OpenURL在Internet服务器上打开一个URL,你可从此处读取信息。如果要执行定位在服务器上的指定的服务(例如,HTTP,FTP或Gopher)行为,必须与此服务器建立适当的连接。

2.例程:

#include <winsock.h>
#include <stdio.h>
WORD wVersionRequested;
WSADATA wsaData;
char name[255]; //name里是本机名
CString ip; //本机IP
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 1, 1 );
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
  {
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
}
}
WSACleanup( );
}  
// AfxMessageBox(name);//name里是本机名
// AfxMessageBox(ip); //ip中是本机IP
CStdioFile File;
File.Open("C://ip.txt",CFile::modeCreate|CFile::modeReadWrite);
//如果文件事先不存在的话,就需要CFile::modeCreate,否则就不需要。
File.WriteString(ip+":"+"8000");
File.Close();  //注意,这里一定要把文件关闭,否则不能成功上传
CString host="204.45.67.11";  
  CString user="19337";  
  CString password="1234567";  
  TRACE(":%s:%s:%s:%s/n", host,   
user, password, "C://ip.txt");  
  CInternetSession session  
(AfxGetApp()->m_pszAppName);  
  CFtpConnection* pConn = NULL;  
  pConn = session.GetFtpConnection (host,user,password);  
  if (pConn) {  
if (!pConn->PutFile("C://ip.txt","ip.txt"))
{  
MessageBox("传送文件失败??");  
} else {  
MessageBox("传送文件成功!");  
}  
pConn->Close();  
delete pConn;  
session.Close();  
  } else {  
MessageBox("Cannot Connect");  
  }

6、将文件从FTP服务器传输到客户机的过程称为_

其实上传来与下载应该源是相对的 既然是 从服务器到客户机 一般来说就是指的是下载如果两台对等的机器 两台都是服务器的话 或者两台都是客户机的话 说上传不为过 说下载也可以 哈哈 但是服务器到客户机肯定是下载 而客户机到服务器是上传

7、如何在linux下用C语言写一个向ftp服务器用active模式传送文件的客户端?

在绝大多数的LINUX发行版本中都选用的是WashingtonUniversity FTP,它是一个著名的FTP服务器软件,一般简称为版wu-ftp。它功能强大,能够很权好地运行于众多的UNIX操作系统,例如:IBM AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP服务器,一大半以上采用了它。wu-ftp拥有许多强大的功能,很适于吞吐量较大的FTP服务器的管理要求:  1) 可以在用户下载文件的同时对文件做自动的压缩或解压缩操作;  2) 可以对不同网络上的机器做不同的存取限制;  3) 可以记录文件上载和下载时间;  4) 可以显示传输时的相关信息,方便用户及时了解目前的传输动态;  5) 可以设置最大连接数,提高了效率,有效地控制了负载。...

8、关于C语言FTP服务器上传数据实现方法

FTP服务器是现成的 ? 那你就是要写客服端咯。 看FTP协议跟socket套接字。

9、怎么用cftpconnection类编写向ftp server上传文件

为了与FTP Internet服务器通讯,必须先创建一个CInternetSession实例,然后创建CFtpConnection对象。创建CFtpConnection对象不采用直接方式,而是调用CInternetSession::GetFtpConnertion来创建并返回一个指向它的指针。

CFtpConnection类的成员

构造函数 CFtpConnection 构造一个CFtpConnection对象

操作 SetCurrentDirectory 设置当前FTP目录

GetCurrentDirectory 获取此次连接的当前目录

GetCurrentDirectoryAsURL 获取作为URL的此次连接的当前目录

RemoveDirectory 从服务器移去指定目录

CreateDirectory 在服务器上构造一个目录

Rename 将服务器上的文件改名

Remove 从服务器上移去一个文件

PutFile 将一个文件放到服务器上

GetFile 从连接的服务器上获取一个文件

OpenFile 在连接的服务器上打开一个文件

Close 关闭与服务器的连接

实例一:上传文件
CString strAppName = AfxGetAppName();
CInternetSession* pSession = new CInternetSession(strAppName);
CFtpConnection* pConn = pSession->GetFtpConnection("
10.46.1.232","Anonymous","",21);
pConn->SetCurrentDirectory("test");
CString strLocfile,strRemotefile;
strLocfile="C:\\cmd.txt";
strRemotefile="cmd.txt";
pConn->PutFile(strLocfile,strRemotefile,FTP_TRANSFER_TYPE_ASCII);
pConn->Close();
return 0;
实例二:Ftp的打开文件操作函数:OpenFile

10、如何用c语言实现http ftp的上传功能

hehe ..这是因为FTP跟HTTP根本不来是同一自种类型服务器。FTP专门是用来下载上传用的,可以算做一个网络硬盘吧..而HTTP服务器一般是WEB服务器..性质完全不一样,就好象你家里的厨房和厕所一样,功能完全不一样嘛你总不可能在厕所想做饭,在厨房想上厕所对不对,没有任何办法..你只能按最直接的地址下载

如果帮助到您,请记得采纳为满意答案哈,谢谢!祝您生活愉快! vae.la

与c上传文件到ftp服务器相关的知识