public IActionResult GetFile() { MyFileStream readStream = new MyFileStream(@"XXX/A.XX", FileMode.Open); return new FileStreamResult(readStream, "application/octet-stream"); }
public class MyFileStream : FileStream { /// <summary> /// 速度 KB /// </summary> private int speek = 512; public MyFileStream(string path, FileMode mode) : base(path, mode) { speek = 256; } public override int Read(byte[] array, int offset, int count) { //count = 32; Thread.Sleep((int)(100/(speek/512d))); return base.Read(array,offset,count); } }
对比第一张图片 速度和设置的256相差不大
这个不是限制的下载速度 而是文件读取速度
这部分代码仅仅针对普通浏览器的下载。
不包括流氓迅雷