none
enviar Dato desde un controler a una un Tag <object de la vista RRS feed

  • Pregunta

  • hola

    estoy utilizando esta libreria PDFObject para visualizar un PDF  en una vista

    envio el file a la vista desde mi controler asi

    return View("_Visor", File(fileBytes, "application/pdf"));
                            }

    en la vista tengo este codigo

                    <object id='pdfbox' type="application/pdf" data=XXXXX", "GenerarCertificado", Model)">
                         </object>  

    MI Inquietud es que coloco donde esta el data? o sea donde estan las  XXXXX???


    • Editado greg_dorian jueves, 19 de enero de 2017 13:41
    jueves, 19 de enero de 2017 13:39

Respuestas

  • hola

    >>y en la vista me dices colocar

    no enviando el File, sino algo como ser

    public ActionResult Index()
    {
    
    	var model = new xxModel(9
    	{
    		pdfContent = Convert.ToBase64String(fileBytes)
    	};
    
    
    	return View("_Visor", model);
    }

    y en el html usar

      <object id='pdfbox' type="application/pdf" data="data:application/pdf;base64,@Model.pdfContent">
                         </object>  


    saludos




    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta greg_dorian jueves, 19 de enero de 2017 23:19
    jueves, 19 de enero de 2017 20:13

Todas las respuestas

  • hola

    Se supone que en data deberias enviar el array de bytes del archivo, pero este debes enviarlo en el response no como model

    sino deberias evaluar de enviar el file encondeado a base64

    How can I convert html to pdf with an application/pdf <object> embedded in it?

    fijate como usa

    data="data:application/pdf;base64,<<--aqui base 64-->>"
    

    de esta forma puedes enviar el archivo como string en el model usando el Convert.ToBase64String()

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 19 de enero de 2017 14:16
  • hola

    Se supone que en data deberias enviar el array de bytes del archivo, pero este debes enviarlo en el response no como model

    sino deberias evaluar de enviar el file encondeado a base64

    How can I convert html to pdf with an application/pdf <object> embedded in it?

    fijate como usa

    data="data:application/pdf;base64,<<--aqui base 64-->>"

    de esta forma puedes enviar el archivo como string en el model usando el Convert.ToBase64String()


    hola gracias leandro

    efectivamente es un array de bytes mi FileBytes pero me haz confundido máS 

    tengo un Return a una vista donde envio 

    Retun View("_visor", File(fileBytes, "application/pdf"))

    y en la vista me dices colocar

    data="data:application/pdf;base64,File"

    o es colocar el array de  bytes en crudo?

    y cuando te refieres en hacer un response en  vez de un model es hacer algo como esto?

    Response.OutputStream.Write(data, 0, data.Length)

    • Editado greg_dorian jueves, 19 de enero de 2017 18:06
    jueves, 19 de enero de 2017 17:58
  • hola

    >>y en la vista me dices colocar

    no enviando el File, sino algo como ser

    public ActionResult Index()
    {
    
    	var model = new xxModel(9
    	{
    		pdfContent = Convert.ToBase64String(fileBytes)
    	};
    
    
    	return View("_Visor", model);
    }

    y en el html usar

      <object id='pdfbox' type="application/pdf" data="data:application/pdf;base64,@Model.pdfContent">
                         </object>  


    saludos




    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta greg_dorian jueves, 19 de enero de 2017 23:19
    jueves, 19 de enero de 2017 20:13
  • hola Leandro

    no te entiendo esta parte

    	var model = new xxModel(9
    	{
    		pdfContent = Convert.ToBase64String(fileBytes)
    	};

    en vez de esto puedo colocar  un viewbag?

    asi

    ViewBag.PDF = Convert.ToBase64String(fileBytes)

    jueves, 19 de enero de 2017 22:45