jQuery FancyBox com Ajax

Eu já visitei muitos sites e páginas no Stackoverflow, mas nenhum deles resolveu meu problema ainda. Simplesmente, eu tenho umhyperlink e quero recuperar uma imagem do banco de dados viaAjax ligar e depois exibi-lo noFancyBox Aparecer. Eu também tentei muitas combinações diferentes deJavascript eController métodos de ação, mas não foram gerenciados, portanto, exiba o arquivo baixado corretamente. Você poderia dar uma olhada no meu código e dar um exemplo de trabalho contendo todos os métodos necessários emView e emController? Por outro lado, seria melhor abrir uma caixa de diálogo para os outros tipos de arquivo (por exemplo, excel, pdf) ao abrirFancyBox para arquivos de imagem.

Visão:

<a onclick="downloadFile(@Model.ID);">@Model.FileName</a>


function downloadFile(id) {     
    $.ajax({
        url: "/Issue/RenderImage?ID=" + id,
        async: true,
        type: "POST",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        success: function (response) {
            $('#fancybox-inner').html('<img height="200" width="250" src="data:image/png;base64,' + response + '" />');
        }       
    });
}


Controlador: Não há nenhum problema com relação ao método no Controlador e ele retorna a imagem corretamente.

[HttpPost]
public virtual JsonResult RenderImage(int id)
{
    string str = System.Convert.ToBase64String(repository.FileAttachments.FirstOrDefault(p => p.ID == id).FileData, 0, repository.FileAttachments.FirstOrDefault(p => p.ID == id).FileData.Length);
    return Json(new { Image = str, JsonRequestBehavior.AllowGet });
}

questionAnswers(2)

yourAnswerToTheQuestion