retour PDF dans la requête ajax

J'ai une requête ajax sur mon Serveur où je suis, la création d'un Fichier PDF. Maintenant, je veux afficher ce fichier dans une nouvelle fenêtre/onglet ou il suffit de le télécharger. comment puis-je le faire?

ma demande

$.ajax({
    url: '/Document/CreatePDF',
    type: 'POST',
    data: {
        docid: documentId,
        dataId: array
    },
    traditional: true,
    success: function (data) {
    }
});

    [HttpPost]
    public FileStreamResult CreatePDF(long docid, List<long> dataId)
    {
        var document = _rep.LoadDocument(docid.ToString(), Server.MapPath("~/Documents/") + docid + ".xml");

        var exporter = new PDFExporter(document);

        MemoryStream fileStream = exporter.CreatePDF();
        byte[] PdfByte = fileStream.GetBuffer();
        fileStream.Flush();
        fileStream.Close();

        HttpContext.Response.AddHeader("content-disposition","attachment; filename=form.pdf");

        return new FileStreamResult(fileStream, "application/pdf");
    }
  • Je pense que vous devez envoyer un formulaire sur le serveur ou le retour d'une adresse à la création de document pdf qui le javascript peut transférer le navigateur dans une nouvelle fenêtre...
  • Solution générale: Cela a fonctionné pour moi (PDF boîte de dialogue modale à partir d'un byte[] par le biais d'un MVC-appel ajax) <stackoverflow.com/questions/15477525/...>
InformationsquelleAutor Safari | 2012-03-27