Hi Developers,
In my project i have to download a Base64 string as Image. We using ajax call jquery method to bind datas form WEBSERVICE.
I am having Base64 value in Db and Binding Image displaying fine.
When i am try to Download it comes NoImage.png
1. My Cshtml Code
<a id="aIDproof" class="btn bg-maroon margin">Download</a>
2. Jquery Ajax Call Method
function GetCustomerKYCDetails() {
var myData =
{
MobileNumber: $("#txtMobileNumber").val()
}
$.ajax({
type: "POST",
url: pathIndex("CustomerDetails") + '/CustomerDetails/GetCustomerKYCDetails',
dataType: "json",
data: AddAntiForgeryToken(myData),
--- Success or Failure Response Here ---
if Success {
// Bind Id_ProofImage image from model
var idProofImageUrl = pathIndex("KYCOperation") + list[0].Id_ProofImagePath;
$("#aIDproof").attr("href", idProofImageUrl);
}
});
}
3. Controller
public JsonResult CustomerDetails(string MobileNumber)
{
CPKYCVerification objresponse = new CPKYCVerification();
int responseCode = 1;
string message = "Oops! server down";
var responseContent = objresponse.CustomerDetails(MobileNumber, ref responseCode, ref message);
return Json(new { ResponseCode = responseCode, Message = message, ResponseContent = responseContent }, JsonRequestBehavior.AllowGet);
}
4. Model Class
[XmlElement(ElementName = "Id_Proof")]
public string Id_Proof { get; set; }
public string Id_ProofImagePath
{
get
{
string file = System.Configuration.ConfigurationManager.AppSettings["KYCDocument"] + Id_Proof;
string path = clsCommonCryptography.StringEncrypt(string.Format("{0}|{1}", file, 0));
path = "/Http/Image?q=" + clsCommonCryptography.Base64ForUrlEncode(path);
return path;
}
}
public string Id_ProofImageExtension
{
get
{
string _Id_ProofImagePathExtension = "";
if (!string.IsNullOrEmpty(Id_Proof))
{
string[] proof = Id_Proof.Split('.');
_Id_ProofImagePathExtension = proof[proof.Length - 1];
}
return _Id_ProofImagePathExtension;
}
}
5. Model Binding Class
public object GetCustomerKYCDetails(string Mobile, ref int responseCode, ref string message)
{
response = proxy.GetCustomerDetails(request);
CustomerDetails.Models.Helper.GeneralHelper.Log_Handler(this.GetType().Name, System.Reflection.MethodBase.GetCurrentMethod().Name, response, 1);
response = clsCommonCryptography.StringDecrypt(response);
using (TextReader sr = new StringReader(response))
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(response);
responseCode = Convert.ToInt32(doc.GetElementsByTagName("STATUSCODE")[0].InnerText);
message = doc.GetElementsByTagName("STATUS")[0].InnerText;
if (responseCode == 0)
{
var serializer = new System.Xml.Serialization.XmlSerializer(typeof(CustomerDetails.Areas.KYCOperation.Models.KYCOperation.CPKYCVerification.CustomerKYCVerificationResponse));
objResponseContent = (CustomerDetails.Areas.KYCOperation.Models.KYCOperation.CPKYCVerification.CustomerKYCVerificationResponse)serializer.Deserialize(sr);
objResponseContent = JsonConvert.SerializeObject(objResponseContent);
}
}
return objResponseContent;
}
Kindly verify the codes which i am using, if anyone know the solution kindly help me to done this task.
Sorry for brief code because i have tried a lot.
Thanks & Regards,
Paul.S