JQuery FancyBox с Ajax

Я посмотрел на многих веб-сайтах и ​​многих страницах Stackoverflow, но ни один из них еще не решил мою проблему. Просто у меня естьhyperlink и я хочу получить изображение из базы данных черезAjax позвонить, а затем отобразить егоFancyBox неожиданно возникнуть. Я также пробовал много разных комбинацийJavascript а такжеController методы действия, но не удалось, поэтому отображать загруженный файл правильно. Не могли бы вы взглянуть на мой код и привести рабочий пример, содержащий все необходимые методы вView И вController? С другой стороны, было бы лучше открыть диалоговое окно для других типов файлов (например, Excel, PDF) при открытииFancyBox для файлов изображений.

Посмотреть:

<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 + '" />');
        }       
    });
}


контроллер: Нет проблем в отношении метода в контроллере, и он возвращает изображение должным образом.

[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 });
}

Ответы на вопрос(2)

Ваш ответ на вопрос