MSHTML的图片对象如何保存

lorl2 2008-11-06 11:31:42
我用WebBrowser打开一个网页后,获取到IHTMLDocument对像,遍历出我想要的那一张图片的IHTMLImageElement后,想把它的图片数据保存下来.

目前己知有两种方法

方法1
利粘贴板,IHTMLControlRange里有个execCommand的方法,可以执行"Copy"动作.
方法2
从IE缓冲中读出它的临时文件路径.可以用GetUrlCacheEntryInfo()配合图片对象元素的.src属性得到它在本地的临时文件路径.



但这两种方法都不是很另人满意.方法1占用粘贴板,会影响别的程序.方法2如果网页指定这个图片不进行缓冲的时候,是取不到图片的.


我想找一种可以直接从IHTMLImageElement得到图片数据流的方法.不知道各位大虾有什么好建议????


MSHTML的图片对象如何保存
...全文
195 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lorl2 2008-11-07
  • 打赏
  • 举报
回复
请你认真看完楼顶我发的贴再说好不.有些敏感信息,网站可以不让IE对它进行缓存的.




问题己解决,IHTMLElementRender即可
SYSSZ 2008-11-07
  • 打赏
  • 举报
回复
那就直接从缓存直接拷出来不就完了,别告诉我不会从缓存读取文件
lorl2 2008-11-07
  • 打赏
  • 举报
回复
WebBrowser己经打开好了,相应的图片也在内存中了(被WebBrowser掌管),我是想直接从内存读取

因为根据Image.src再次请求该图片的话是会变的(验证码^_^~!)
yeah920 2008-11-07
  • 打赏
  • 举报
回复
是的啊。
迈克揉索芙特 2008-11-06
  • 打赏
  • 举报
回复
老张是用再下载的方法,应该可行,但有一点局限性。
比如验证码图片,每次是不同的。
SYSSZ 2008-11-06
  • 打赏
  • 举报
回复
要测试程序,请贴邮箱
SYSSZ 2008-11-06
  • 打赏
  • 举报
回复


Private Sub GetLinks()
Dim Doc As IHTMLDocument2
Dim All As IHTMLElementCollection
Dim L As Integer
Dim i As Integer
Dim Varl As Variant

Set Doc = WebBrowser1.Document
Set All = Doc.images

L = All.length
For i = 0 To L - 1
Set Varl = All.Item(i, varempty)
List1.AddItem (Varl.href)

Set Varl = Nothing
Next i
Set All = Nothing
Set Doc = Nothing
Label1.Caption = List1.ListCount + 1
End Sub

Private Sub Command1_Click()
For i = 0 To List1.ListCount - 1
downFile List1.List(i)
Next
End Sub

Private Sub Form_Load()
WebBrowser1.Navigate "http://zy.muwen.com/pic/85/2008/07/15/142868.htm"
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, url As Variant)
GetLinks
End Sub

Private Function downFile(url As String)
Dim bytes() As Byte
bytes() = Form1.Inet1.OpenURL(url, icByteArray)
Dim tempS
tempS = Split(url, "/")
Dim fName As String
fName = tempS(UBound(tempS))
fName = App.Path & "\" & "图片" & "\" & fName
Open fName For Binary Access Write As #1
Put #1, , bytes()
Close #1
End Function

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧