如何将值设置为HTML中的文件输入?
的答案&评论下面反映的2009年的旧版浏览器现在,您可以使用JavaScript和数据传递或文件列表对象实际设置文件输入元素的值动态/编程状态2017年
见这个问题的详细信息,答案以及演示:
How to set file input value programatically (i.e.: when drag-dropping files)?
如何设置这个的价值?
<input type="file" />
您不能因安全原因。
试想:
<form name="foo" method="post" enctype="multipart/form-data">
<input type="file" value="c:/passwords.txt">
</form>
<script>document.foo.submit();</script>
你不想你访问能够做到这一点的网站,你呢? =)
你可以清除它吗?它让我感到害怕,每次我重新访问时都会记住文件名。 Pelase请参阅http://stackoverflow.com/questions/41807471/can-i-reset-the-seletced-file-name-of-an-html-5-file-selector – Mawg 2017-01-23 13:25:35
我了解安全问题,但不应该浏览器能够区分危险的本地文件路径和像dataUrl这样更无害的东西?也许这是一个管道梦。 – cowlinator 2017-01-27 22:49:46
怎么样拖ñdrop功能,没有办法将该文件设置为输入字段? – Vedmant 2017-08-19 07:46:10
你不能。这是一个安全措施。想象一下,如果有人写JS将文件输入值设置为一些敏感数据文件?
你不能。
设置文件输入值的唯一方法是由用户选择文件。
这是出于安全原因而完成的。否则,您将能够创建一个自动从客户端计算机上载特定文件的Javascript。
不回答你的问题(这人回答),但如果你想有一个上传的文件领域的一些编辑功能,您可能需要做的是:
- 显示当前值通过只打印文件名或URL这个领域的,可点击链接下载它,或者如果它是一个形象:刚刚表现出来,可能是由于缩略图
- 的
<input>
标签上传新文件 - 复选框,当选中,删除当前上传的文件。请注意,没有办法上传“空”文件,因此您需要类似的东西来清除该字段的值。
其实我们可以做到这一点。 我们可以使用FormToMultipartPostData Library在c#中使用webbrowser控件来设置文件的默认值。我们必须下载该库并将其包含在我们的项目中。 Webbrowser使用户能够在表单内导航网页。 加载网页后,将执行webBrowser1_DocumentCompleted中的脚本。 所以,
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
FormToMultipartPostData postData =
new FormToMultipartPostData(webBrowser1, form);
postData.SetFile("fileField", @"C:\windows\win.ini");
postData.Submit();
}
请参阅下载和完整的参考下面的链接。
https://www.codeproject.com/Articles/28917/Setting-a-file-to-upload-inside-the-WebBrowser-com
欢迎您提供解决方案的链接,但请确保您的答案是如果没有它:[在链接中添加上下文](// meta.stackexchange.com/a/8259/165483),以便您的同行用户可以了解它是什么以及它为什么存在,然后引用最相关的部分如果目标页面不可用,您要链接的页面。 [//只是链接的答案可能会被删除。](// stackoverflow.com/help/deleted-answers) – 2017-11-29 22:02:12
另请参见[如何以编程方式设置文件输入值(即:在拖放文件时)?]( https://stackoverflow.com/q/47515232/584192) – 2017-11-29 22:02:34
我做了这个一个完整的引用和最新日期(2013年12月)答案在这里:还记得和重新填充文件输入(HTTP://计算器。com/a/20537822/588079) – GitaarLAB 2013-12-16 03:26:09
[如何以编程方式设置文件输入值(即:拖动文件时)?](https://stackoverflow.com/questions/47515232/how-to-set- file-input-value-programatically-ie-when-drag-dropping-files) – 2017-11-28 03:23:21