我用VB编写一个程序,用WEBBROWSER控件通过网页向一个远端服务器自动提交文件,但是不能直接给FileUpload1.Value赋值为文件的绝对路径+文件来实现.
<input type="file" name="FileUpload1" id="FileUpload1" class="button" style="width:200px;" /> 
手工提交文件时候,我可以点击这个网页上按钮,弹出文件选择框,选择文件后后再点击下面的"上传"按钮即可实现. 
  <input type="submit" name="btnUpload" value="上 传" onclick="if (FileUpload1.value=='') {alert('请选择要上传的文件!'); return false;};" id="btnUpload" class="button" /> 
 请问VB的程序怎么才能实现自动上传指定的文件,如何使用Activex Control来实现;如果实在没有好的办法当触发input type="file"的按钮的CLICK事件后如何在新弹出的窗口中输入文件名,我用SENDKEYS不太好用,请指点.最好给出VB的代码,先谢谢了!

解决方案 »

  1.   

    用mouse_event模拟点击文件框,复制粘贴进去文件路径就行了
      

  2.   

    我的程序中代码为:
        Set doc = WebBrowser1.Document
        Set Inputs = WebBrowser1.Document.frames(1).frames(0).Document.getElementsByTagName("INPUT")    
        Inputs.Item(13, 13).Click
    能指点一下具体怎么用mouse_event模拟点击,代替Inputs.Item(13, 13).Click;如果不知道坐标是不是就不能使用mouse_event模拟点击模拟点击了
      

  3.   

    那直接构造form数据,上传呢http://www.motobit.com/tips/detpg_uploadvbaie/
      

  4.   

    这个方法真的不错,但是有几个问题想请高手指点一下,我抓了正常情况和我用构造FORM方式下的数据包,比较了一下,有几个地方不是很明白
    1.boundary使用时有什么具体的要求吗?除了不和文件中内容重复,长度需要限定吗
    2.如果除了文件,还要发送一些网页上的控件,例如下面部分name="txtWorkPlanItem" 后面的e7 bd 91 e7 bb 9c e6 95 b0 ....怎么发送,网络中传送时使用UNICODE吗?我没能将这些内容转换成文本,请帮助看看.
    3.下面是我抓包的部分内容,我提交网页的每个内容都需要和这些一致才能正常上传吗?这个网页可以在四个不同的地方上传附件,是否rblAttach ....2 有密切的关系
    4.每个form-data 中的......我怎么将其转换成文本,我就知道小于127的是按照ascii码规则,其他是什么编码
    0190   4c 51 54 6b 55 75 2b 67 3d 3d 0d 0a 2d 2d 2d 2d  LQTkUu+g==..----
    01a0   2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
    01b0   2d 2d 2d 2d 2d 2d 2d 2d 2d 37 64 38 32 65 31 32  ---------7d82e12
    01c0   38 30 30 39 39 32 0d 0a 43 6f 6e 74 65 6e 74 2d  800992..Content-
    01d0   44 69 73 70 6f 73 69 74 69 6f 6e 3a 20 66 6f 72  Disposition: for
    01e0   6d 2d 64 61 74 61 3b 20 6e 61 6d 65 3d 22 74 78  m-data; name="tx
    01f0   74 57 6f 72 6b 50 6c 61 6e 49 74 65 6d 22 0d 0a  tWorkPlanItem"..
    0200   0d 0a e7 bd 91 e7 bb 9c e6 95 b0 e6 8d ae e7 ae  ................
    0210   a1 e7 90 86 ef bc 9a e8 af 9d e5 8a a1 e7 bb 9f  ................
    0220   e8 ae a1 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .....-----------
    0230   2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
    0240   2d 2d 37 64 38 32 65 31 32 38 30 30 39 39 32 0d  --7d82e12800992.
    0250   0a 43 6f 6e 74 65 6e 74 2d 44 69 73 70 6f 73 69  .Content-Disposi
    0260   74 69 6f 6e 3a 20 66 6f 72 6d 2d 64 61 74 61 3b  tion: form-data;
    0270   20 6e 61 6d 65 3d 22 74 78 74 57 6f 72 6b 43 6f   name="txtWorkCo
    0280   6e 74 65 6e 74 22 0d 0a 0d 0a e4 b8 ad e7 bb a7  ntent"..........
    0290   e3 80 81 e4 bf a1 e4 bb a4 e8 b4 9f e8 8d b7 e7  ................
    02a0   bb 9f e8 ae a1 e5 88 86 e6 9e 90 0d 0a 0d 0a e5  ................
    02b0   a4 87 e6 b3 a8 ef bc 9a 20 0d 0a 20 20 20 20 20  ........ ..     
    02c0   20 20 20 20 20 e5 ba 94 e7 bb 9f e8 ae a1 e5 90       ...........
    02d0   84 e4 ba a4 e6 8d a2 e5 b1 80 e5 90 84 e6 96 b9  ................
    02e0   e5 90 91 e5 bf 99 e6 97 b6 e4 b8 ad e7 bb a7 e3  ................
    02f0   80 81 e4 bf a1 e4 bb a4 e8 b4 9f e8 8d b7 e3 80  ................
    0300   82 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ...-------------
    0310   2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
    0320   37 64 38 32 65 31 32 38 30 30 39 39 32 0d 0a 43  7d82e12800992..C
    0330   6f 6e 74 65 6e 74 2d 44 69 73 70 6f 73 69 74 69  ontent-Dispositi
    0340   6f 6e 3a 20 66 6f 72 6d 2d 64 61 74 61 3b 20 6e  on: form-data; n
    0350   61 6d 65 3d 22 72 62 6c 54 65 6d 70 6c 61 74 65  ame="rblTemplate
    0360   22 0d 0a 0d 0a 30 30 30 30 30 30 30 30 30 30 30  "....00000000000
    0370   30 30 36 32 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  0062..----------
    0380   2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
    0390   2d 2d 2d 37 64 38 32 65 31 32 38 30 30 39 39 32  ---7d82e12800992
    03a0   0d 0a 43 6f 6e 74 65 6e 74 2d 44 69 73 70 6f 73  ..Content-Dispos
    03b0   69 74 69 6f 6e 3a 20 66 6f 72 6d 2d 64 61 74 61  ition: form-data
    03c0   3b 20 6e 61 6d 65 3d 22 72 62 6c 41 74 74 61 63  ; name="rblAttac
    03d0   68 22 0d 0a 0d 0a e9 99 84 e4 bb b6 32 ef bc 88  h"..........2...
    03e0   e7 a9 ba ef bc 89 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d  ........--------
    03f0   2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
    0400   2d 2d 2d 2d 2d 37 64 38 32 65 31 32 38 30 30 39  -----7d82e128009
    0410   39 32 0d 0a 43 6f 6e 74 65 6e 74 2d 44 69 73 70  92..Content-Disp
    0420   6f 73 69 74 69 6f 6e 3a 20 66 6f 72 6d 2d 64 61  osition: form-da
    0430   74 61 3b 20 6e 61 6d 65 3d 22 46 69 6c 65 55 70  ta; name="FileUp
    0440   6c 6f 61 64 31 22 3b 20 66 69 6c 65 6e 61 6d 65  load1"; filename
    0450   3d 22 5c 5c 31 30 2e 31 39 38 2e 32 35 2e 31 30  ="\\10.198.25.10
    0460   34 5c e4 ba a4 e6 8d a2 e4 b8 ad e5 bf 83 5c e6  4\............\.
    0470   8a a5 e8 a1 a8 5c 43 54 4d 53 43 31 5f 31 5c e7  .....\CTMSC1_1\.
    0480   a7 bb e4 ba a4 e7 bb b4 2d 43 44 4d 41 2d 54 4d  ........-CDMA-TM
    0490   53 43 31 2d 31 34 2e 78 6c 73 22 0d 0a 43 6f 6e  SC1-14.xls"..Con
    04a0   74 65 6e 74 2d 54 79 70 65 3a 20 61 70 70 6c 69  tent-Type: appli
    04b0   63 61 74 69 6f 6e 2f 76 6e 64 2e 6d 73 2d 65 78  cation/vnd.ms-ex
    04c0   63 65 6c 0d 0a 0d 0a d0 cf 11 e0 a1 b1 1a e1 00  cel.............
      

  5.   

    我看了一些资料,ENCTYPE属性值为multipart/form-data应该就是多媒体传输协议