我现在在做一个下载的程序,利用idhttp的get方法来完成。但是为了方便,我想自动取得链接地址中的文件作为文件存储的文件名。
  比如我现在有一个http://www.mydomain.com/mp3/aaa.mp3或者http://www.mydomain.com/music.asp?type=mp3&mid=1020这个链接地址,然后我怎样才能自动获取该地址中的文件名。就像影音传送带的中的那样。
  急盼答复!!!分不够可以再加。

解决方案 »

  1.   

    像这个http://www.mydomain.com/mp3/aaa.mp3
    截取最后一个/后面的字符串就okhttp://www.mydomain.com/music.asp?type=mp3&mid=1020
    需要先得到源码后再分析起中的http://www.mydomain.com/mp3/aaa.mp3,并截取最后一个/后面的字符串
      

  2.   

    能够说的详细一点吗?关于http://www.mydomain.com/music.asp?type=mp3&mid=1020如何分析。这个地址是通过后台数据库直接就转向到http://www.mydomain.com/mp3/aaa.mp3了的。
    我用idhttp.get('http://www.mydomain.com/music.asp?type=mp3&mid=1020',mystream)就已经直接下载了吧。
      

  3.   

    IdHTTP的
     HandleRedirects := True
      

  4.   

    但是如何获取转向后的路径的文件名呢?大哥大姐们,我求求你们了,给答案能够具体一点吗?另外HandleRedirects := True只是告诉能否支持转向吧
      

  5.   

    谁能填一段关于用idhttp做下传取得文件名的源码,尤其是在重定向后取得文件的源码,不胜感激!!!
      

  6.   

    meostream := TMemoryStream.Create;
      try
        IdHTTP1.Get('http://192.168.0.1/webupload/finish.rar',meostream);
        meostream.SaveToFile('d:\'+IdHTTP1.URL.Document);
        ShowMessage('OK');
      finally
        meostream.Free;
      end;
    测试成功
      

  7.   

    老兄你用的是什么版本的,我用的是d6,indy是8.0版本的。没有URL这个属性的。
      

  8.   

    可以解决了,可以使用ondirect中获取最新一次的url,或者使用http.response.location得到最后一次的url.感谢dabaicai(菜鸟)给的灵感。