ResumeFileContentResultExecutor.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using Masuit.Tools.AspNetCore.ResumeFileResults.Extensions;
  2. using Masuit.Tools.AspNetCore.ResumeFileResults.ResumeFileResult;
  3. using Microsoft.AspNetCore.Mvc;
  4. using Microsoft.AspNetCore.Mvc.Infrastructure;
  5. using Microsoft.Extensions.Logging;
  6. namespace Masuit.Tools.AspNetCore.ResumeFileResults.Executor;
  7. /// <summary>
  8. /// 断点续传文件FileResult执行器
  9. /// </summary>
  10. internal class ResumeFileContentResultExecutor : FileContentResultExecutor, IActionResultExecutor<ResumeFileContentResult>
  11. {
  12. /// <summary>
  13. /// 构造函数
  14. /// </summary>
  15. /// <param name="loggerFactory"></param>
  16. public ResumeFileContentResultExecutor(ILoggerFactory loggerFactory) : base(loggerFactory)
  17. {
  18. }
  19. /// <summary>
  20. /// 执行Result
  21. /// </summary>
  22. /// <param name="context"></param>
  23. /// <param name="result"></param>
  24. /// <returns></returns>
  25. public virtual Task ExecuteAsync(ActionContext context, ResumeFileContentResult result)
  26. {
  27. if (context == null)
  28. {
  29. throw new ArgumentNullException(nameof(context));
  30. }
  31. if (result == null)
  32. {
  33. throw new ArgumentNullException(nameof(result));
  34. }
  35. context.SetContentDispositionHeaderInline(result);
  36. return base.ExecuteAsync(context, result);
  37. }
  38. }