none
Recuperar arquivo PDF no MVC RRS feed

  • Discussão Geral

  • Amigos, 

    Estou a algum tempo tentando recuperar um arquivo PDF do servidor e mostrar este como um  MODAl no Browser,   como exemplo estou tentando utilizar o FAncyBox.

    Alguém pode me ajudar?

    Estou colocando abaixo parte do código que estou utilizando

    .cshtml // Nesta parte eu mando o nome do arquivo pdf como exemplo  "xyz.pdf" para a function Jquery

    <a href="#" onclick="getPdf('@it.Caminho')"> Outro Teste</a>

    Jquery

    function getPdf(param) {
        $.ajax({
            url: "/Home/GetPdf",
            data: { parametro: param },
            datatype:"application/pdf",
            type: "POST",
            sucess: function (data) {
                $('#resultPDF').html(data);
                $('#resultPDF').fancybox({
                    maxWidth: 800,
                    maxHeight: 600,
                    fitToView: false,
                    width: '70%',
                    height: '70%',
                    autoSize: false,
                    closeClick: false,
                    openEffect: 'none',
                    closeEffect: 'none'
                });
            }
        });
    }

    Controller

    [HttpPost]

    public FileResult GetPDF(string parametro){

    var diretorio = ConfigurationManager.AppSettings["diretorio"] + "\\"; var filename = new FileStream(diretorio + parametro, FileMode.Open); var mimeType = "application/pdf"; var fileDownloadName = parametro; //return File(filename, mimeType, fileDownloadName); return File(filename, System.Net.Mime.MediaTypeNames.Application.Pdf);

    }

    As referencias de FancyBox Jquery e outros estão corretas eu acredito, 

    Alguem viu algum erro ou tem algum exemplo que possa me ajudar???

    Grato...


    http://fparmezani.wordpress.com

    segunda-feira, 11 de fevereiro de 2013 18:27

Todas as Respostas

  • Um PDF é um arquivo binário. 

    Você está atualizando sua div como um HTML que é texto puro mas passando dados binários do PDF, isso realmente não vai funcionar.

    O correto é você abrir o arquivo PDF sem usar ajax, geralmente eu mando abrir o link com arquivos em outra janela, basta acrescentar target="_blank" como attributo da sua tag <a href="###">

    quinta-feira, 14 de fevereiro de 2013 16:50
    Moderador