要在IE中实现文件上传,不知从何从起
希望高手描述一下思路
可以不用贴代码,因为暂时还看不懂 ×_×WinInet和Socket在VC6中似乎都可以实现文件上传
它们各自适用于什么情况?
有什么特点啊?关于HTTP需要了解一些什么?

解决方案 »

  1.   

    如果你是在ie中的话前者显然更适合一些如果是下载的话有这样一个很有意思的函数呢UrlDownloanFile
      

  2.   

    咦,你好富裕啊,开2个帖子问这个问题,如果是ftp协议的上传我可以马上作答,如果是别的可能就不那么准确了
      

  3.   

    to  vampireal(学习->再学习!) 
    连这个也被你发现了*^_^*
    不知道那个论坛板块更吸引眼球,所以都贴了现在因为还是没有确切答案
    所以可能还是会用模拟IE窗口的事件来实现,这样简单一点不过还是要谢谢你!
      

  4.   

    在VC++中创建一个基于对话框的应用程序,需要注意的是在创建此工程时,一定要选择Windows Sockets这一选项。创建的对话框的结构如上图,并在对话框类的文件中加入#include 'afxinet.h' 头文件。然后在对话框这个类的文件中加入下列函数,此函数是敲击Send-Button按钮发生的事件,主要是完成FTP功能传送文件的功能,本程序中要传的文件应该放在本工程中,如果放在别处可稍加改动一下即可。     void CFtptestDlg::OnSendButton() 
        {
        CString host;
        m_HostEdit.GetWindowText(host);
        //m_HostEdit是对话框中FTP Host :Edit控件的命名
        CString user;
        
        m_UserEdit.GetWindowText(user);
        //m_UserEdit是对话框中User:Edit控件的命名
        CString password;
        m_PasswordEdit.GetWindowText(password);
        //m_PasswordEdit是对话框中Password:Edit控件的命名
        CString filename;
        m_FileEdit.GetWindowText(filename);
        //m_FileEdit是对话中SendFile:Edit控件的命名
        TRACE(':%s:%s:%s:%s\n', host, 
        user, password, filename);
        CInternetSession session
        (AfxGetApp()- >m_pszAppName);
        CFtpConnection* pConn = NULL;
        pConn = session.GetFtpConnection
        (host,user,password);
        if (pConn) {
        if (!pConn- >PutFile(filename,filename)){
        MessageBox('传送文件失败??');
        } else {
        MessageBox('传送文件成功!');
        }
        pConn- >Close();
        delete pConn;
        session.Close();
        } else {
        MessageBox('Cannot Connect');
        }
        }
      

  5.   

    下表显示了实现一个典型的FTP client application的步骤:目的 方法 结果 
    开始一个FTP session 创建一个CInternetSession对象 初始化WinInet
    并联接服务器 
    连接到一个FTP Server 用CInternetSession::GetFtpConnection 返回一个CFtpConnection对象 
    CD到 FTP 服务器的一个新目录 用CFtpConnection::SetCurrentDirectory CD到FTP服务器的一个
    新目录 
    Find 第一个FTP目录中的文件 用CFtpFileFind::FindFile Find第一个文件,如果文件每找到返回FALSE 
    Find 下一个FTP目录中的文件 用CFtpFileFind::FindNextFile Find下一个文件
    如果文件没找到返回FALSE 
    打开FindFile或FindNextFile找到的文件(用于读写) 用CFtpConnection::OpenFile,用FindFile或FindNextFile返回的文件名 打开FindFile或FindNextFile找到的文件(用于读写),返回一个CInternetFile对象 
    读写文件 用CInternetFile::Read或CInternetFile::Write 使用你指定的缓冲写
    指定的字节数 
    异常处理 用CInternetException类  处理所有普通的Internet异常类型 
    结束FTP session 处理CInternetSession对象 自动清除打开的句柄的连接 我再发一个例子给你,包含客户端和服务器端的程序,可以下载和上传文件,对于你的要求,只要客户端程序就行了
      

  6.   

    做包、压缩、Send,就这么简单,呵呵