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;
namespace Masuit.Tools.AspNetCore.ResumeFileResults.Executor;
///
/// 断点续传文件FileResult执行器
///
internal class ResumeFileContentResultExecutor : FileContentResultExecutor, IActionResultExecutor
{
///
/// 构造函数
///
///
public ResumeFileContentResultExecutor(ILoggerFactory loggerFactory) : base(loggerFactory)
{
}
///
/// 执行Result
///
///
///
///
public virtual Task ExecuteAsync(ActionContext context, ResumeFileContentResult 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);
}
}