本文仅仅是提供测试使用的代码
提供文件下载只需要返回 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://blog.lindexi.com/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 ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。
无盈利,不卖课,做纯粹的技术博客
以下是广告时间
推荐关注 Edi.Wang 的公众号
欢迎进入 Eleven 老师组建的 .NET 社区
以上广告全是友情推广,无盈利