You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
4.3 KiB

1 year ago
  1. using Common.Helper;
  2. using Common.Helper.ConstantValues;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Web;
  8. namespace JsonRx.Handler
  9. {
  10. /// <summary>
  11. /// Summary description for Docs
  12. /// </summary>
  13. public class Docs : IHttpHandler
  14. {
  15. public void ProcessRequest(HttpContext context)
  16. {
  17. try
  18. {
  19. var vin = "";
  20. var userId = "";
  21. var module = "";
  22. var imgRoot = ApplicationConfig.GetDocumentUploadUrl();//Image root url from web.config file
  23. var imageNameEnc = context.Request.QueryString["img"];
  24. var imageName = Encoding.UTF8.GetString(Convert.FromBase64String(imageNameEnc));
  25. var userIdEnc = context.Request.QueryString["userId"];
  26. var vinEnc = context.Request.QueryString["vin"];
  27. if (!string.IsNullOrEmpty(userIdEnc))
  28. {
  29. userId = Encoding.UTF8.GetString(Convert.FromBase64String(userIdEnc));
  30. }
  31. if (!string.IsNullOrEmpty(vinEnc))
  32. {
  33. vin = Encoding.UTF8.GetString(Convert.FromBase64String(vinEnc));
  34. }
  35. var moduleEnc = context.Request.QueryString["module"];
  36. if (!string.IsNullOrEmpty(moduleEnc))
  37. {
  38. module = Encoding.UTF8.GetString(Convert.FromBase64String(moduleEnc));
  39. }
  40. //KYC images
  41. var membershipIdDec = "";
  42. var membershipIdEnc = context.Request.QueryString["mid"];
  43. if (!string.IsNullOrEmpty(membershipIdEnc))
  44. {
  45. membershipIdDec = Encoding.UTF8.GetString(Convert.FromBase64String(membershipIdEnc));
  46. }
  47. var dtDec = "";
  48. var dtEnc = context.Request.QueryString["dt"];
  49. if (!string.IsNullOrEmpty(membershipIdEnc))
  50. {
  51. dtDec = Encoding.UTF8.GetString(Convert.FromBase64String(dtEnc));
  52. dtDec = dtDec.Replace("/", @"\");
  53. }
  54. //KYC images end
  55. //==================== Getting image content type ###STARTS ================================
  56. string extension = System.IO.Path.GetExtension(imageName);
  57. var imageType = extension.Replace(".", "");
  58. var contentType = "image/" + (extension.Equals(".svg") ? imageType + "+xml" : imageType);
  59. //==================== Getting image content type ###ENDS ================================
  60. var imgPath = "";
  61. var relativePath = "";
  62. if (module.ToUpper().Equals(ModuleName.kyc))//kyc image
  63. {
  64. //relativePath = ApplicationConfig.GetKycImageRelativePath();
  65. //imgPath = imgRoot + relativePath + userId + @"\" + imageName;
  66. imgPath = imgRoot + dtDec + @"\" + membershipIdDec + @"\" + imageName;
  67. }
  68. else if (module.ToUpper().Equals(ModuleName.telecom))//telecoms icon
  69. {
  70. relativePath = ApplicationConfig.GetTelecomsIconRelativePath();
  71. imgPath = imgRoot + relativePath + @"\" + imageName;
  72. }
  73. else if (module.ToUpper().Equals(ModuleName.flag))//country flag
  74. {
  75. relativePath = ApplicationConfig.GetCountryFlagRelativePath();
  76. imgPath = imgRoot + relativePath + @"\" + imageName;
  77. }
  78. else if (module.ToUpper().Equals(ModuleName.reward))//reward img
  79. {
  80. relativePath = ApplicationConfig.GetRewardImageRelativePath();
  81. imgPath = imgRoot + relativePath + @"\" + imageName;
  82. }
  83. else
  84. {
  85. imgPath = imgRoot + @"\" + imageName;
  86. }
  87. context.Response.ContentType = contentType;
  88. context.Response.WriteFile(imgPath);
  89. }
  90. catch (Exception ex)
  91. {
  92. }
  93. }
  94. public bool IsReusable
  95. {
  96. get
  97. {
  98. return false;
  99. }
  100. }
  101. }
  102. }