Http Range Requests in ASP.NET Core

Here’s a small code snippet to use Http Range Requests with ASP.NET Core butchered from this now outdated MSDN article:

using System.IO;
using System.Text;
using Microsoft.AspNetCore.Mvc;

namespace WebApiRangeTest.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class RangeController : ControllerBase
    {
        private static readonly byte[] _content = Encoding.UTF8.GetBytes("abcdefghijklmnopqrstuvwxyz");

        public IActionResult Get()
        {
            MemoryStream stream = new MemoryStream(_content);

            if (stream == null)
            {
                return NotFound();
            }

            return File(stream, "text/plain", enableRangeProcessing: true);
        }
    }
}

 

The “Request.Headers.Range” method has now been replaced by opting in for this functionality using the enableRangeProcessing boolean when returning a FileStreamResult object.

Have fun!

Leave a Reply

Your email address will not be published. Required fields are marked *