现在我有一个webbrowser和一个image
现在webrowser里面有一个图片,已经知道这个图片的地址了,需要把这个图片保存到本地文件,可是我又不想用idhttp,因为太卡了,也不想多线程,因为我需要按步骤显示改如何弄呢???我的目的是保存到本地后显示在image里有没有什么控件能直接显示网络地址的图片还有就是wenbrowser里面的图片能否搜寻本地缓存找到,如何找??写写!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    uses ExtActns;function TFrameChannel.DownloadFile(SourceFile, DestFile: string): Boolean;
    var
      hasError: boolean;
    begin
      hasError:=false;
      with TDownloadURL.Create(self) do
      try
        URL:=SourceFile;//http的image url 地址
        FileName := DestFile;//存的文件地址
        ExecuteTarget(nil) ;
      except on e: Exception do begin
        FormMain.SetStatusInfo(e.Message);
        Free;
        hasError:=true;
        end;
      end;
      Result := not hasError;
    end;
      

  2.   

    http://support.microsoft.com/kb/293125
      

  3.   

    直接显示网络地址的图片,可以用WebBrowser控件。要使用IE下载到本地的图片内容 可以使用几种办法。1.通过URLDownloadToFile/URLDownloadToCacheFile去下载图片,如果在本地缓存能够找到图片它们会自动使用本地缓存内容,否则才去服务器上下载。2.使用GetUrlCacheEntryInfo或者FindFirstUrlCacheEntry/FindNextUrlCacheEntry这些API可以通过URL直接查找到缓存项。3.为图片元素调用浏览器复制命令(ControlRange.ExecCommand ("Copy")),然后从剪切板获取图片数据以上API的详细说明信息需要查阅MSDN