【问题标题】:Programmatically set name of file to upload in webpage以编程方式设置要在网页中上传的文件名
【发布时间】:2010-11-03 03:14:51
【问题描述】:
有没有办法以编程方式设置要从网页上传的文件的名称?我怀疑浏览器安全限制使这不可能,但我希望有人能证明我错了。
我有一个需要让管理员上传 HTML 的 Web 应用程序。管理员选择 HTML 文件,然后应用程序上传该文件,并找出所有支持文件(图像、样式表等)并上传它们。似乎没有办法以编程方式从网页上传支持文件,因为用户必须明确指定每个文件。
目前我有一个单独的 Windows 应用程序来执行此操作,但最好将此功能与应用程序的其余部分集成。我的后端是带有 C# 的 ASP.NET。
【问题讨论】:
标签:
asp.net
html
file
upload
【解决方案1】:
是的,您可以(在现代浏览器中)...
您可以获取和设置HTMLInputElement.files 的值。
见this answer。
【解决方案2】:
您可以使用某种形式的浏览器插件来执行此操作。这对你来说是更多的工作(除了当你让用户运行你的应用程序时发现的那些潜在的安全隐患之外,还有潜在的安全隐患)。但是,它可能会妨碍您的用户获得更集成的体验。不过,我会犹豫是否要完全消除该应用程序。浏览器兼容性问题很常见。
【解决方案3】:
无法通过浏览器以编程方式从用户计算机中抓取文件。如果网站只能抓取东西,这将违反安全规定。
【解决方案4】:
不,如果没有客户端应用程序或特殊插件,您无法做到这一点。
浏览器安全性不允许服务器获取有关客户端硬盘内容的信息。