从 Process.Start()-方法获取文件

Get file from Process.Start()-Method

我正在尝试通过 Process.Start()-方法检索文件。

给出以下场景:

我从第三方程序获得 link。这个link可以是一个UNC路径,直接link到PDF/JPG/TIF-files,比如"www.certainServer.de/test.pdf",也可以link到服务器上的程序,return 一种特殊的文件类型,例如 "www.certainServer.de/test.aspx".

我这样打开文件

Process.Start(_path)

如果 link 类似于 "www.certainServer.de/test.aspx",returned 文件会自动下载到存放的下载文件夹中。

是否有机会检索下载的文件或下载文件的路径?

来自 Process.Start() 方法的 returned Process-对象似乎没有帮助。

Process.Start 不一定下载文件。它只是 启动一个进程 。您可以同样轻松地启动记事本,它没有任何副作用(当然,启动后您使用记事本执行 的操作除外)。如果您启动的流程(在您的例子中是调用网页)有外部影响,流程引擎对此一无所知。

听起来你知道文件应该存放在哪里,所以你可以使用类似FileSystemWatcher的东西在添加新文件时得到提醒(但这并不一定意味着它来自您的进程)或获取进程前后的文件列表 运行.

但是 System.Process 没有任何内在的东西可以明确地知道那个过程 做了什么

另一种选择可能是从您的代码中调用 URL(使用 WebClient 或类似的东西)并捕获结果(可能是一个文件,也可能只是一个网页,具体取决于URL)。它不像启动进程并让默认浏览器处理下载那样普遍,但它会更明确地捕获结果。