用webbrowser浏览:上传文件,并在新框架显示结果的如下html代码:
T = T & "<form method=""POST"" target=""_blank"" enctype=""multipart/form-data"" action=""/vAjDkUp"" >" & vbCrLf
T = T & "文件:<input type=file name=""MyFile"">" & vbCrLf
T = T & "<br><input type=submit value =""开始上传""></form></div></td></tr>" & vbCrLf
结果,webbrowser会遇到困难,无法正确发送post内容. 上面代码如果取消 target=""_blank"" 将运行正常.
原代码大致是这样:遇到新框架后产生事件:
Private Sub Webbs_NewWindow2(Index As Integer, ppDisp As Object, Cancel As Boolean)
Set ppDisp = webbs(index+1) '指向新控件
end sub
'然后产生事件
Private Sub Webbs_BeforeNavigate2(Index As Integer, ByVal pDisp As Object, Url As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
End Sub
这样结果是webbrowser用Get方法,发送了请求,当然出错了。
问题:如何在后一个事件中编写处理代码呢?手工处理:enctype=""multipart/form-data"" 不可取,再说如何取MyFile属性呢?
能否让webbrowser自己完成这个过程呢?
请高手指点.
T = T & "<form method=""POST"" target=""_blank"" enctype=""multipart/form-data"" action=""/vAjDkUp"" >" & vbCrLf
T = T & "文件:<input type=file name=""MyFile"">" & vbCrLf
T = T & "<br><input type=submit value =""开始上传""></form></div></td></tr>" & vbCrLf
结果,webbrowser会遇到困难,无法正确发送post内容. 上面代码如果取消 target=""_blank"" 将运行正常.
原代码大致是这样:遇到新框架后产生事件:
Private Sub Webbs_NewWindow2(Index As Integer, ppDisp As Object, Cancel As Boolean)
Set ppDisp = webbs(index+1) '指向新控件
end sub
'然后产生事件
Private Sub Webbs_BeforeNavigate2(Index As Integer, ByVal pDisp As Object, Url As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
End Sub
这样结果是webbrowser用Get方法,发送了请求,当然出错了。
问题:如何在后一个事件中编写处理代码呢?手工处理:enctype=""multipart/form-data"" 不可取,再说如何取MyFile属性呢?
能否让webbrowser自己完成这个过程呢?
请高手指点.
解决方案 »
- load、unload、end三个方法是什么对象的方法
- vb在调用API的一个Bug可能导致内存泄露
- 如何打印msflexgrid/mshflexgrid中的内容
- 散分了:使用RichTextBox控件提供用户编辑功能,加入类似word的“撤销”和“恢复”功能,来者有分
- 如何去掉MDI子窗体的最小化,最大化,还原按钮?
- 用Crystal Report做的报表,在打包时候,应该把哪些.Dll和其他的文件打包进来?
- C/S结构 => B/S结构 的转换问题?
- 哪位大侠能用vb求出汉字的拼音码来,请告诉我,在下不胜感激。
- DataReport怎么不会刷新?
- 如何读取EXCEL表格的表头并在TEXT中显示,可以不要表线.特急!
- 求一查询语句(这样的情况下,查询语句怎么写)?
- 读取内存时十六进制处理转换问题
你上传一下文件的时候,抓一下HTTP头文件,看是怎么写的.
用webbrowser做浏览器,浏览有上传文并且开新框架的网页时出错.该如何编写代码,使得webbrowser
正确浏览该网页?
该出错网页的html代码为:
<form method="POST" target="_blank" enctype="multipart/form-data" action="/Upfile.asp" >
文件: <input type=file name="MyFile">
<br> <input type=submit value ="开始上传"> </form>
以上网页本身没错,IE能正确访问浏览它.
我分析其原因是因为我没有处理下面事件:
Private Sub Webbs_BeforeNavigate2(Index As Integer, ByVal pDisp As Object, Url As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
End Sub 我只处理了以下事件:
Private Sub Webbs_NewWindow2(Index As Integer, ppDisp As Object, Cancel As Boolean)
Set ppDisp = webbs(index+1) '指向新控件
end sub 说明:用其它框架代码验证过 Webbs_NewWindow2处理没有错.
而事件:Webbs_BeforeNavigate2 如何处理正是我要问的.