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.
 
 
 

112 lines
4.3 KiB

using Common.Helper;
using Common.Helper.ConstantValues;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
namespace JsonRx.Handler
{
/// <summary>
/// Summary description for Docs
/// </summary>
public class Docs : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
try
{
var vin = "";
var userId = "";
var module = "";
var imgRoot = ApplicationConfig.GetDocumentUploadUrl();//Image root url from web.config file
var imageNameEnc = context.Request.QueryString["img"];
var imageName = Encoding.UTF8.GetString(Convert.FromBase64String(imageNameEnc));
var userIdEnc = context.Request.QueryString["userId"];
var vinEnc = context.Request.QueryString["vin"];
if (!string.IsNullOrEmpty(userIdEnc))
{
userId = Encoding.UTF8.GetString(Convert.FromBase64String(userIdEnc));
}
if (!string.IsNullOrEmpty(vinEnc))
{
vin = Encoding.UTF8.GetString(Convert.FromBase64String(vinEnc));
}
var moduleEnc = context.Request.QueryString["module"];
if (!string.IsNullOrEmpty(moduleEnc))
{
module = Encoding.UTF8.GetString(Convert.FromBase64String(moduleEnc));
}
//KYC images
var membershipIdDec = "";
var membershipIdEnc = context.Request.QueryString["mid"];
if (!string.IsNullOrEmpty(membershipIdEnc))
{
membershipIdDec = Encoding.UTF8.GetString(Convert.FromBase64String(membershipIdEnc));
}
var dtDec = "";
var dtEnc = context.Request.QueryString["dt"];
if (!string.IsNullOrEmpty(membershipIdEnc))
{
dtDec = Encoding.UTF8.GetString(Convert.FromBase64String(dtEnc));
dtDec = dtDec.Replace("/", @"\");
}
//KYC images end
//==================== Getting image content type ###STARTS ================================
string extension = System.IO.Path.GetExtension(imageName);
var imageType = extension.Replace(".", "");
var contentType = "image/" + (extension.Equals(".svg") ? imageType + "+xml" : imageType);
//==================== Getting image content type ###ENDS ================================
var imgPath = "";
var relativePath = "";
if (module.ToUpper().Equals(ModuleName.kyc))//kyc image
{
//relativePath = ApplicationConfig.GetKycImageRelativePath();
//imgPath = imgRoot + relativePath + userId + @"\" + imageName;
imgPath = imgRoot + dtDec + @"\" + membershipIdDec + @"\" + imageName;
}
else if (module.ToUpper().Equals(ModuleName.telecom))//telecoms icon
{
relativePath = ApplicationConfig.GetTelecomsIconRelativePath();
imgPath = imgRoot + relativePath + @"\" + imageName;
}
else if (module.ToUpper().Equals(ModuleName.flag))//country flag
{
relativePath = ApplicationConfig.GetCountryFlagRelativePath();
imgPath = imgRoot + relativePath + @"\" + imageName;
}
else if (module.ToUpper().Equals(ModuleName.reward))//reward img
{
relativePath = ApplicationConfig.GetRewardImageRelativePath();
imgPath = imgRoot + relativePath + @"\" + imageName;
}
else
{
imgPath = imgRoot + @"\" + imageName;
}
context.Response.ContentType = contentType;
context.Response.WriteFile(imgPath);
}
catch (Exception ex)
{
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
}