ActionContextExtension.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. using Masuit.Tools.AspNetCore.ResumeFileResults.ResumeFileResult;
  2. using Microsoft.AspNetCore.Mvc;
  3. using Microsoft.Net.Http.Headers;
  4. namespace Masuit.Tools.AspNetCore.ResumeFileResults.Extensions
  5. {
  6. /// <summary>
  7. /// ResumeFileHelper
  8. /// </summary>
  9. public static class ActionContextExtension
  10. {
  11. /// <summary>
  12. /// 设置响应头ContentDispositionHeader
  13. /// </summary>
  14. /// <param name="context"></param>
  15. /// <param name="result"></param>
  16. public static void SetContentDispositionHeaderInline(this ActionContext context, IResumeFileResult result)
  17. {
  18. context.HttpContext.Response.Headers[HeaderNames.AccessControlExposeHeaders] = HeaderNames.ContentDisposition;
  19. if (string.IsNullOrEmpty(result.FileDownloadName))
  20. {
  21. var contentDisposition = new ContentDispositionHeaderValue("inline");
  22. if (!string.IsNullOrWhiteSpace(result.FileInlineName))
  23. {
  24. contentDisposition.SetHttpFileName(result.FileInlineName);
  25. }
  26. context.HttpContext.Response.Headers[HeaderNames.ContentDisposition] = contentDisposition.ToString();
  27. }
  28. }
  29. }
  30. }