如何以编程方式将本地文件路径设置为网页的文件上传器

时间:2013-09-26 16:24:43

标签: c# vb.net winapi browser webbrowser-control

我想写一个简单的程序来自动将文件附加到网页的文件上传器。我尝试了一些方法,但没有工作。我曾尝试设置文件输入的value属性,但此方法不起作用。

VB.Net

temp.SetAttribute("value", "D:\test.jpg")

我还尝试使用windows api将文件路径设置为文件选择器弹出窗口的文本框,但是我最后一次单击打开按钮时挂起。单击功能不适用于该按钮。

VB.Net

Private Const WM_KEYDOWN = &H100  
Private Const WM_KEYUP = &H101  
Private Const WM_CHAR = &H102  
Private Const WM_LBUTTONDOWN = &H201  
Private Const WM_LBUTTONUP = &H202  

SendMessage(Button, WM_LBUTTONDOWN, 0, 0)  
SendMessage(Button, WM_LBUTTONUP, 0, 0)  
SendMessage(Button, WM_KEYDOWN, System.Windows.Forms.Keys.Return, 0)
SendMessage(Button, WM_CHAR, System.Windows.Forms.Keys.Return, 0)  
SendMessage(Button, WM_KEYUP, System.Windows.Forms.Keys.Return, 0)

任何1知道将文件url设置为文件输入的方法吗?

2 个答案:

答案 0 :(得分:0)

文件上传控件有special protection to stop hackers using it,你不能在代码中设置它的值,它也可能阻止你在这里尝试做的事情。

不可能   但是,如果您已经知道或定义了文件位置,并且确实存在,请尝试使用System.IO.File.Move()函数

答案 1 :(得分:0)

出于自动化目的,可以提供带有SendKeys的文件名。诀窍是使用定时器事件或Task.Delay进行异步执行,让文件对话框首先打开。这是working example in C#,将它转换为VB.NET应该不是问题。