通过启动Chrome进程下载文件

时间:2016-06-06 23:47:09

标签: c# google-chrome download

我想通过启动新的Chrome进程来下载文件。我找到了参数“--download”,所以解决方案应该是“CHROMEPATH --download URI”。 (http://peter.sh/experiments/chromium-command-line-switches/#download

我编写代码以在C#中启动该过程,是的,我知道还有其他选项可以像webclient一样执行此操作,但我不想在我的代码中实现下载。

string FILEURI = "example.org/file.png";
System.Diagnostics.Process prozess = new System.Diagnostics.Process();
prozess.StartInfo.FileName = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe";
prozess.StartInfo.Arguments = "--download " + FILEURI;
prozess.Start();

这没有任何问题,只是打开链接“file:// FILEURI”。所以我无法在没有任何用户交互的情况下下载它。

1 个答案:

答案 0 :(得分:0)

Chrome始终会下载到下载文件夹。您可以尝试获取最新的下载文件,如下所示:

new DirectoryInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),"Downloads"))
    .GetFiles()
    .OrderByDescending(f => f.CreationTime)
    .First()

这有风险(如DavidG所述)以及用户可能下载其他文件等的事实。所以这不一定是最好的方法。