ActionContextExtension.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132
  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. /// <summary>
  6. /// ResumeFileHelper
  7. /// </summary>
  8. public static class ActionContextExtension
  9. {
  10. /// <summary>
  11. /// 设置响应头ContentDispositionHeader
  12. /// </summary>
  13. /// <param name="context"></param>
  14. /// <param name="result"></param>
  15. public static void SetContentDispositionHeaderInline(this ActionContext context, IResumeFileResult result)
  16. {
  17. context.HttpContext.Response.Headers[HeaderNames.AccessControlExposeHeaders] = HeaderNames.ContentDisposition;
  18. if (string.IsNullOrEmpty(result.FileDownloadName))
  19. {
  20. var contentDisposition = new ContentDispositionHeaderValue("inline");
  21. if (!string.IsNullOrWhiteSpace(result.FileInlineName))
  22. {
  23. contentDisposition.SetHttpFileName(result.FileInlineName);
  24. }
  25. context.HttpContext.Response.Headers[HeaderNames.ContentDisposition] = contentDisposition.ToString();
  26. }
  27. }
  28. }