从网站下载文件,没有特定文件 url
Download a file from website, without specific file url
我一直在用web做一个项目,运行陷入了一个问题。我需要下载一个文件,但是文件是在访问时自动下载的,所以没有给出实际的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
将保留本地文件名。没有对话框,您可以完全控制。
我一直在用web做一个项目,运行陷入了一个问题。我需要下载一个文件,但是文件是在访问时自动下载的,所以没有给出实际的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
将保留本地文件名。没有对话框,您可以完全控制。