我正在使用从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);
}
}
}
答案 0 :(得分:2)
我有一个带有返回文件的API的asp.net核心项目:
[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的URL(myapp / api / mycontroller / id),那么我可以看到文件下载。