【发布时间】:2021-07-06 14:11:08
【问题描述】:
我正在开发一个 Blazor 服务器端应用程序,该应用程序仅在我们的网络中使用。该应用程序处理建筑许可证。到目前为止一切顺利。
从历史上看,许可证是手动完成的,所有相关文件(蓝图、信件等)都保存在我们的文件服务器上并通过 Windows 资源管理器访问。
为了能够保持相同的文件处理工作流程,我的任务是从 Blazor 应用打开 Windows 资源管理器。
我很清楚这远非推荐,我尝试说服人们不要这样做,但无济于事。
那么:有没有办法直接在 Windows 资源管理器中打开特定位置。我知道您可以链接到 HREF="file:\my-server\path\to\share",但这仅显示目录列表。没有办法添加文件、复制、粘贴、重命名等等……
更新(2021-07-08): 这是在受控环境中。该应用程序不公开。我永远不会为公共应用程序做这样的事情。使用该应用程序的人非常有限,并且会了解该功能。
【问题讨论】:
-
Process.Start?老式的方式,老式的工作流程? thread我不确定这是否可行,但你可以试一试......
-
其实可能不会。这是一个关于使用自定义文件处理程序协议的线程,也许这是一种方式? link
-
这只适用于开发机器,因为 Process.Start 在服务器上启动进程。在作为服务器和客户端打开 Windows Epxlorer 的 DEV 中是相同的。但是,它在生产中不起作用。服务器无法在客户端启动进程
-
您所要求的并非特定于 Blazor。相反,您应该问问自己,作为 Web 浏览器的用户,您是否曾在任何地方看到过此功能。旧版本的 Internet Explorer 可能会出现这种情况,但任何现代浏览器都不可能。
-
@Nikki9696 为我指明了正确的方向。使用自定义 URI 处理程序似乎有效。第一个简化测试很有希望。
标签: .net-core blazor blazor-server-side windows-explorer