我正在创建一个ASP.NET Web应用程序,使用.NET Wrapper for Scheduled Tasks从远程位置在我们的服务器上安排任务。但是,我被卡住了。
用户需要能够浏览服务器上的文件系统,以检索用户在此应用程序中创建的新任务的“要运行的文件”。我需要获取文件路径/文件名并将其传递给.NET包装器。
我尝试过使用HTMLInputFile,但我还没有找到一种方法让我能够使用它。
感谢任何帮助。
由于
<小时/> 更新:
答案 0 :(得分:4)
HTMLInputFile用于浏览客户端的文件系统并将文件上传到服务器。它不用于浏览服务器的文件系统。
你需要一些完全不同的东西。您将需要一些服务器端代码,以通过浏览器向用户显示服务器端文件夹结构。
有一个here的基本实现示例。
<强>更新强>
使用该示例,替换“yourfolderHere”的路径需要是虚拟路径,而不是绝对路径。因此,例如“C:\ Inetpub \ wwwroot \ uploads”将无效,但“上传”将起作用。
我希望不要说在实现这样的事情时要考虑严重的安全问题。
答案 1 :(得分:0)
HTMLInputFile仅适用于客户端计算机。
您需要在服务器端浏览的ASPX / HTML中编写文件系统浏览器。 不应该那么难。
您无法使用<input type="file"
标记
这将打开一个浏览客户端计算机的客户端对话框。
答案 2 :(得分:0)
据我所知,您需要创建自己的“浏览器”。
例如,您可以使用My.Computer.Filesystem类来检索文件夹中的文件列表,并在网页上显示这些文件。然后,用户选择相关文件并将响应发回服务器。
答案 3 :(得分:0)
您可以使用System.IO.Directory来获取目录和文件。这些可以以多种方式显示。只需少于50行代码就可以选择简单的浏览器/文件。
另请注意,您可能需要向运行Web应用程序的用户授予额外权限,以便可以访问文件系统。
此外还有各种安全隐患,因此除非您确实需要,否则不要授予对所有内容的访问权限。