热情软件屋

 

如何用CHttpConnection来上传信息


编号:QA003520
建立日期: 2000年11月8日 最后修改日期:2000年11月8日
所属类别:

Ma Zunyun:
    操作系统: windows 2000
    编程工具: VC++6
    问题: 各位好:
    本人在用ATL编一个ActiveX控件,目的是:在网页上嵌入该控件并实现将本地文件(.txt)内容读出并上传到一URL,本人目前用的是CHttpConnection来处理连接传送信息(因用它已实现文件下载),但问题是:
    1:如URL上指定文件不存在,如何创建该文件。
    2:如何向该文件写入数据。(测试的Web Server已有写入的权限。)。
    本人如下一段代码始终不能工作,不知有何错误,望赐教(实际中编译一通过):
     pConnection = session.GetHttpConnection(g_strServerName,(INTERNET_PORT) 80)
     pFile1=pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST, "//xml.txt?");
     CComBSTR bstrXml;//(m_XML);
     bstrXml.Append("My XML.");
     CString tmpXml=bstrXml.m_str;
     int tot=strlen(tmpXml);
     BOOL ret1=pFile1->SendRequestEx(tmpXml.GetLength());
    
     pFile1->WriteString(tmpXml);
     pFile1->EndRequest();
    水平: 刚入门

回答:

    从你的代码看,你打算使用POST方法,使用POST和GET完全不同。接受你的POST的应该是一个CGI、ASP程序,由这个程序将接受到的数据写入一个文件,而不能向你这样直接POST给一个.txt文件。象你这样应该使用PUT方法,但是处于安全的考虑,一般的服务器默认是不对管理员之外的用户开放PUT权限的。
    
    相关问题:
    QA000661 "怎样用ISAPI接收HTTP文件上传"
    QA001926 "怎样用ASP实现文件上传"
    QA002995 "Perl中如何实现文件上传"

此问题由李海回答。

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

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