using Masuit.Tools.AspNetCore.ResumeFileResults.Extensions; using Masuit.Tools.AspNetCore.ResumeFileResults.ResumeFileResult; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Infrastructure; using Microsoft.Extensions.Logging; using System; using System.Threading.Tasks; namespace Masuit.Tools.AspNetCore.ResumeFileResults.Executor { /// /// 通过本地文件的可断点续传的FileResult执行器 /// internal class ResumePhysicalFileResultExecutor : PhysicalFileResultExecutor, IActionResultExecutor { /// /// 构造函数 /// /// public ResumePhysicalFileResultExecutor(ILoggerFactory loggerFactory) : base(loggerFactory) { } /// /// 执行Result /// /// /// /// public virtual Task ExecuteAsync(ActionContext context, ResumePhysicalFileResult result) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (result == null) { throw new ArgumentNullException(nameof(result)); } context.SetContentDispositionHeaderInline(result); return base.ExecuteAsync(context, result); } } }