本文仅仅是提供测试使用的代码
提供文件下载只需要返回 PhysicalFile 方法,如下面代码
[HttpGet]
public IActionResult Get()
{
var folder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var file = Path.Combine(folder, "big file");
const string mime = "application/octet-stream";
return PhysicalFile(file, mime);
}
本文的 big file 是程序运行创建的垃圾文件
private void WriteBigFile()
{
var folder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var file = Path.Combine(folder, "big file");
if (!File.Exists(file))
{
using (var stream = new FileStream(file, FileMode.Create))
{
for (int i = 0; i < 100000000; i++)
{
stream.WriteByte(0);
}
}
}
}
测试代码放在 github 欢迎小伙伴访问
本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/asp-dotnet-core-%E6%8F%90%E4%BE%9B%E5%A4%A7%E6%96%87%E4%BB%B6%E4%B8%8B%E8%BD%BD%E7%9A%84%E6%B5%8B%E8%AF%95.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。