软件注册站
热情软件屋

 
怎样使用VC++实现文件上传?
编号: QA000092    
建立日期: 1998年11月12日 最后修改日期: 2004年2月29日
所属类别: C/C++ - Internet编程
   
    怎样使用VC++实现文件上传?(san)
   
    文件上传一般采用采用FTP较多,而HTTP用的较少,因为既慢又麻烦。在VC++ MFC中 包括WinInet类使得编写FTP客户端变得容易,其基本步骤如下:
    1、实现建立CInternetSession对象;
    2、使用CInternetSession::GetFtpConnection连接到FTP服务器;
    3、使用上一步返回的CFtpConnection对象的CFtpConnection::SetCurrentDirectory设置当前目录;
    4、使用CFtpConnection::OpenFile打开文件,在打开文件的同时也就设定了传输模式是二进制还是文本方式;
    5、利用上一步得到的CInternetFile的CInternetFile::Write向服务器写数据,通常你要在写数据前将本地文件读入缓冲区;
    6、使用CInternetException来处理可能遇到的错误;
    7、当上传完成后,释放CInternetSession对象。
    关于如何使用HTTP上传文件请参考微软的Knowledge Base的文章:“Q177188 FILE: Using HttpSendRequestEx for Large POST Requests”
    马海军来信建议说:我觉得这个问题回答得不够彻底。因为很多情况下还是需要在主页中让用户上传文件.必须用ISAPI来编写接收用户文件上传的程序,怎样用好CHttpServerContext来接收文件仍然是必须回答的问题。
    回答:对于服务器端,你可以参考QA000661 "怎样用ISAPI接收HTTP文件上传"
    
    san的意见:
    用户不一定用IIS。这是一个UNIX的例子,ANSI C写成的http://www.hku.nl/~pieter/SOFT/CGI/UPLOAD/html/UPLOAD.html

    

此问题由李海回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, Internet编程, INET, www, internet, ie

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio