文件浏览器控件替换<input type =“file”/>

时间:2010-06-17 17:18:23

标签: asp.net html silverlight activex applet

我正在为企业内部网用户开发ASP.NET Web应用程序。我有一个表单,用户应该在本地网络上提供文件的路径(类似“\ localServer \ someFolder \ someFile.ext”)而不上传实际文件。问题是用户不想键入整个文件路径,并且想要使用某种可视浏览对话框。

标准HTML&lt; input type = file&gt; element允许浏览文件,但是大多数浏览器(IE除外)都不允许访问文件的完整路径,因此我认为它应该由一些外部组件完成,如Silverlight,Flash,Java applet等。

我尝试使用Silverlight,但是当我尝试使用Silverlight的OpenFileDialog类访问文件的完整路径时,我收到了一个SecurityException。

这个java小程序http://jumploader.com/demo_images.html似乎做了类似于我正在寻找的东西,但它专注于上传文件 - 我只需要能够获取文件的完整路径并将其作为一个传递给服务器字符串。

任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:2)

Telerik ASP.NET AJAX RadFileExplorer具有您正在寻找的功能: http://www.telerik.com/products/aspnet-ajax/fileexplorer.aspx

您可以使用自定义文件内容提供程序将GUI挂钩到服务器的文件系统。 http://demos.telerik.com/aspnet-ajax/fileexplorer/examples/server-sideapi/dbfilebrowsercontentprovider/defaultcs.aspx

答案 1 :(得分:0)

这应该可以通过Flash的上传功能实现。 SWFUpload有一个API,您可以从JavaScript访问该API以提取所选文件名,而无需实际上传任何内容。请参阅文档here,例如getFile()

  

getFile 用于从队列中检索文件对象。通过传入文件id(文件对象的id属性)或文件索引(文件对象的索引属性)检索文件。