c# - 从网站下载文件,没有特定的文件 url

标签 c# webclient

我一直在使用网络做一个项目,遇到了一个问题。我需要下载一个文件,但该文件会在访问时自动下载,因此没有给出实际的 URL。

我尝试了WebClient,但我意识到我无法这样做。 我也尝试过使用 WebBrowser 但我面临另一个问题。文件已下载,但是,

1) 有一个关于保存文件的对话框。

2)我不知道文件在哪里下载。

3) WebBrowser 下载事件不使用特殊的 EventArgs

WebBrowser wb = new WebBrowser();
wb.Navigate("https://thunderstore.io/package/download/Raus/IonUtility/1.0.1/")

private void wb_FileDownload(object sender, EventArgs e)
{
    // The download code, but no download path
}

有什么想法可以解决这个问题吗?

最佳答案

尝试这种方法:

var client = new HttpClient
{
    BaseAddress = new Uri("https://thunderstore.io/")
};

var response = await client.GetStreamAsync("package/download/Raus/IonUtility/1.0.1/");

var fn = Path.GetTempFileName();

using (var file = File.OpenWrite(fn))
{
    await response.CopyToAsync(file);
}

最后fn将保存本地文件名。没有对话框,您拥有完全的控制权。

关于c# - 从网站下载文件,没有特定的文件 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58247734/

相关文章:

pdf - 从 XML 和 XSL-FO 生成客户端 PDF?

c# - 将 MS Access 应用程序迁移到 .Net 应用程序的指南

c# - 使用 & try/catch 嵌套

VB.NET 应用程序卡住且未运行

javascript - 如何在有或没有javaScript的情况下获取android中每个页面的内容高度?

c# - WebClient() 可以同时下载多个字符串吗?

c# - 如何让 WebClient 请求所有其他 GET 请求

javascript - 如何在asp.net mvc中访问 session 变量?

c# - 嵌入语句错误

c# - Dapper 可以批处理一组存储过程调用吗?