日期:2014-05-17  浏览次数:21085 次

浏览器中显示的网页如何获取其中图片资源的字节流
场景是这样的,自己开发的一个客户端程序,可以用来保存从浏览器拷贝的网页数据,在浏览器中选中一大段网页,然后复制,粘贴到这个客户端程序,它就会把复制的整个网页保存到本地,现在对图片本地化采用的方式是从剪贴板中获取到所有图片路径,然后到网上将图片下载到本地。这样导致程序保存很慢。
为了提高保存速度,我就想对图片本地化的方式做下改进,目前的考虑是,既然浏览器已经把网页完整的展现出来了,那么图片字节流应该已经存在于本地或者内存中了,如果能够找到这些图片在本地存放的位置,那么就不需要从互联网上再把图片下载下来。不知道这个考虑有没有可行性,请大神们指点一下。或者对图片本地化给些其他的思路~~~
貌似Windows系统中的Windows Automation类库可以识别粘贴的内容类型并有相应的缓存,不过不知道怎么弄啊。。。
------最佳解决方案--------------------
这个好办,使用FindFirstUrlCacheEntry、FindNextUrlCacheEntry获取IE缓存数据,数据会保存在INTERNET_CACHE_ENTRY_INFO 结构中,其中的lpszSourceUrlName、lpszLocalFileName分别保存着internet路径和本地路径,循环逐一比对internet路径,符合就通过其中的dwSizeLow、dwSizeHigh得到文件大小,这两个API怎么用不用多说了吧,满网都是例子。
------其他解决方案--------------------
为何不直接使用webbwoser控件?
------其他解决方案--------------------
webbwoser控件可以编辑网页内容么?还是只可以浏览?