查找了些相关资料还是没有搞定,所以特发帖来问下大家。
1:服务器用asp.net写好,可以在网页进行上传文件;
  一个input框,一个浏览文件按钮和一个上传按钮;
2:delphi程序:
  var 
  IdHttp: TIdHTTP; 
  MutPartForm: TIdMultiPartFormDataStream; 
  begin 
  IdHttp:=TIdHTTP.Create(nil); 
  MutPartForm:=TIdMultiPartFormDataStream.Create; 
  try 
//    MutPartForm.AddFormField('FieldName', 'FieldValue'); 
    MutPartForm.AddFile('info.rar', 'd:\info.rar', 'FieldType'); 
    MutPartForm.Position:=0; 
  
    IdHttp.Request.ContentType := MutPartForm.RequestContentType; 
    IdHttp.Post('http://localhost/test.aspx', MutPartForm); 
  finally 
    IdHttp.Free; 
    MutPartForm.Free; 
  end;  结果:程序没有运行后没有反应,没有错误,也没有将文件上传。顺便问下MutPartForm.AddFormField是填写网页的参数吗?谢谢!

解决方案 »

  1.   

    {upfile.asp<---阿毛ASP无组件上传}uses IdMultipartFormData;
    {$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      MutPartForm: TIdMultiPartFormDataStream;
      response: string;
      IdHttp: Tidhttp;
    begin
      IdHttp := Tidhttp.Create(nil);
      IdHttp.HandleRedirects := true;
      IdHttp.AllowCookies := true;
      MutPartForm := TIdMultiPartFormDataStream.Create;
      MutPartForm.AddFormField('act', 'upload');
      MutPartForm.AddFormField('upcount', '1');
      MutPartForm.AddFormField('filepath', 'data');
      MutPartForm.AddFormField('file1', 'filename="c:\083.jpg"');
      MutPartForm.AddFormField('Submit', 'Submit');
      MutPartForm.AddFile('file1', 'c:\083.jpg', 'text/plain');
      try
        response := IdHttp.Post('http://localhost/upfile.asp', MutPartForm);
      finally
        MutPartForm.Free;
        IdHttp.Free;
      end;
    end;
      

  2.   

    lihuasoft:谢谢你的帮助,看你写的delphi程序与我的大致相同,是不是这样的程序不支持asp.net?
    {upfile.asp<---阿毛ASP无组件上传}我搜索了下没找到,能否给我一份?谢谢!
     我的email:[email protected]
      

  3.   

    我在网上找了一份upfile.asp在网页是可以进行上传的,
    但调用程序还是无法上传。
    情况还是与最初我描述的一样:结果:程序没有错误,也没有将文件上传,Response返回了调用的网页。
      

  4.   


    ASP.net我没用过, 但我想不应该不支持.
      

  5.   

    lihuasoft: 你发的有压缩包有密码,呵呵,谢谢你了!我用你的asp程序再试一下,但我想也有可能是idhttp的程序有问题。
      

  6.   

    汗....密码在RAR的注释里....看不到吗?
      

  7.   

    lihuasoft:你发的asp代码会有 “80020009” 错误
      

  8.   

    list.asp 出错,asp 中的 “80020009” 错误 
      

  9.   


    自己排除。或者去ASP版块提问。
    over
      

  10.   

    请问lihuasoft:
      MutPartForm.AddFormField('act', 'upload');
      MutPartForm.AddFormField('upcount', '1');
      MutPartForm.AddFormField('filepath', 'data');
      MutPartForm.AddFormField('file1', 'filename="c:\083.jpg"');
      MutPartForm.AddFormField('Submit', 'Submit');
      MutPartForm.AddFile('file1', 'c:\083.jpg', 'text/plain');AddFormField添加表单的字段是否将页面的输入填写满?我写的asp.net程序是可以在IE中上传文件的,并且我下载的asp程序在IE也是可以上传文件的,所以请问您还有什么地方需要注意的?是AddFormField吗?非常感激!