注意:
下面的答案反映了2009年旧版浏览器的状态。现在,您可以在2017年使用JavaScript动态/编程地设置文件输入元素的值。
有关详细信息和演示,请参阅此问题的答案:
How to set file input value programatically (i.e.: when drag-dropping files)?
我需要做的是以编程方式从使用.NET WebBrowser
的应用程序的javascript代码向服务发送POST请求,该应用程序基本上是嵌入式Internet Explorer。此服务要求其中一个字段为“文件”。
那么,是否有任何方法可以在表单中设置“文件”输入的值,因为我有文件的内容,例如在一个字节数组中(和不是文件的路径;我不是试图从用户那里窃取文件:))。
或许是一种明确创建和发送POST请求而不是动态创建FORM的方法?
我需要使用将在我的WebBrowser
(想想IE)中运行的JavaScript代码。这可能吗?
答案 0 :(得分:9)
不幸的是,这是不可能的,因为这将是一个安全问题。对文件输入字段的Javascript控制非常有限。否则,人们可以使用它来窃取用户计算机上的文件。
由于您可以控制浏览器,因此您可以使用普通的HTTPWebRequest发送文件,但无法在JavaScript中完成。