以编程方式设置type ="file"输入HTML元素的值?

Jua*_*uan 9 javascript post

注意:

下面的答案反映了2009年遗留浏览器的状态.现在,您可以在2017年使用JavaScript动态/编程地设置文件输入元素的值.

有关详细信息和演示,请参阅此问题中的答案:
如何以编程方式设置文件输入值(即:拖放文件时)?

我需要做的是以编程方式从使用.NET的应用程序的javascript代码向服务发送POST请求,该.NET WebBrowser基本上是嵌入式Internet Explorer.此服务要求其中一个字段为"文件".

所以,有没有办法在表单中设置"文件"输入的值,因为我有文件的内容,例如在一个字节数组中(而不是文件的路径;我是不试图从用户窃取文件:)).

或者也许是一种显式创建和发送POST请求而不是动态创建FORM的方法?

我需要使用将在我的WebBrowser(想想IE)中运行的JavaScript代码.这可能吗?

Chr*_*ken 10

不幸的是,这是不可能的,因为这将是一个安全问题.对文件输入字段的Javascript控制非常有限.否则,人们可以使用它来窃取用户计算机上的文件.

由于您可以控制浏览器,因此可以使用普通的HTTPWebRequest发送文件,但无法在JavaScript中完成.