private void HandleDownloadStarted(Browser browser, int downloadId, JSONNode info) { //Debug.Log("Download requested: " + info.AsJSON); var download = new Download { browser = browser, downloadId = downloadId, name = info["suggestedName"], }; if (promptForFileNames) { browser.DownloadCommand(downloadId, BrowserNative.DownloadAction.Begin, null); } else { DirectoryInfo downloadFolder; if (string.IsNullOrEmpty(saveFolder)) { downloadFolder = new DirectoryInfo(GetUserDownloadFolder()); } else { downloadFolder = new DirectoryInfo(saveFolder); if (!downloadFolder.Exists) { downloadFolder.Create(); } } var filePath = downloadFolder.FullName + "/" + new FileInfo(info["suggestedName"]).Name; while (File.Exists(filePath)) { var ext = Path.GetExtension(filePath); var left = Path.GetFileNameWithoutExtension(filePath); var time = DateTime.Now.ToString("yyyy-MM-dd hh_mm_ss"); filePath = downloadFolder.FullName + "/" + left + " " + time + ext; } browser.DownloadCommand(downloadId, BrowserNative.DownloadAction.Begin, filePath); } downloads.Add(download); }