在浏览器中显示下载进度
本文关键字:下载 显示 浏览器 | 更新日期: 2023-09-27 18:11:56
我正在从DropBox下载pdf的函数中工作,我使用的是ASP.net Core,一切都很好。唯一的问题是,当你点击下载链接时,它不会显示任何消息,而是下载文件。我想显示下载进度,就像我们从互联网下载东西时通常发生的那样,我不希望出现任何对话框,只是显示文件被下载了,就像在Chrome或IE等浏览器中通常发生的那样,然后有选择"显示在文件夹中"之类的东西,我需要添加什么?
public async Task DownloadPdf()
{
DropboxClient client2 = new DropboxClient("cU5M-a4exaAAAAAAAAABDVZsKdpPteNmwHslOeFEo-HByuOr4v4ONvXoAMCFyOXH");
string folder = "MyFolder";
string file = "Test PDF.pdf";
using (var response = await client2.Files.DownloadAsync("/" + folder + "/" + file))
{
using (var fileStream = System.IO.File.Create(@"C:'Users'User'Downloads'Test.pdf"))
{
(await response.GetContentAsStreamAsync()).CopyTo(fileStream);
}
}
}
我有一个asp.net核心项目的API返回一个文件:
[HttpGet("{id}")]
public IActionResult Get(int id) {
byte[] fileContent = READ_YOUR_FILE();
FileContentResult result = new FileContentResult(fileContent, "application/octet-stream") {
FileDownloadName = id.ToString()
};
return result;
}
如果我在浏览器中从这个API (myapp/API/mycontroller/id)访问URL,那么我可以看到文件正在下载