public ActionResult GetDocumentCompData(string docId)
{
SessionValues sessionValues = new GetSessionValues();
try
{
ResponseModel response = ApiCalls.Get(GetApiUrls.GetDocumentInfo + "?documentId=" + docId);
if (response != null && response.Data != null)
{
DocumentsModel retval = JsonConvert.DeserializeObject<DocumentsModel>(response.Data.ToString());
retval.FileName = Path.GetFileName(retval.FileLocation);
// Serialize the DocumentsModel object to JSON and stream it directly to the response
var serializer = JsonSerializer.CreateDefault();
Response.BufferOutput = false; // Disable buffering to stream content
Response.ContentType = "application/json";
using (var streamWriter = new StreamWriter(Response.OutputStream))
using (var jsonWriter = new JsonTextWriter(streamWriter))
{
serializer.Serialize(jsonWriter, new { Data = retval, Message = response.Message, Status = response.Status });
}
// Ensure the response is complete
Response.Flush();
return new EmptyResult(); // Return an EmptyResult to indicate that the action has completed
}
}
catch (Exception e)
{
bool rethrow = CommonException.HandleException(e, Enums_Constants.ControllerPolicy);
if (rethrow)
throw;
}
return Json("", JsonRequestBehavior.AllowGet);
}