none
Generar PDF con HttpResponse RRS feed

  • Pregunta

  • estoy tratando de ver cual es el error que tengo pero no lo encuentro, tengo un método para descargar PDF ,cuando ejecuto el proyecto doy en el botón descargar y no hace nada(Ejecuta correctamente el método pero no me descarga el pdf) pero cuando le doy por segunda vez al botón descargar si y es así hasta cuantas descargas deseo pero no me descarga en el primer clic

            public void ProcessRequest(HttpContext context)
            {
                try
                {
                    HttpResponse response = context.Response;
                    HttpRequest request = context.Request;
                    response.Clear();
                    response.AddHeader("Pragma", "no-cache");
                    response.AddHeader("Cache-Control", "no-store, no-cache, must-revalidate");
                    //response.AddHeader("Content-Disposition", "inline; filename=\"files.json\"");
                    response.AddHeader("X-Content-Type-Options", "nosniff");
                    response.AddHeader("Access-Control-Allow-Origin", "*");
                    response.AddHeader("Access-Control-Allow-Methods", "OPTIONS, HEAD, GET, POST, PUT, DELETE");
                    response.AddHeader("Access-Control-Allow-Headers", "X-File-Name, X-File-Type, X-File-Size");
    
                    switch (request.HttpMethod)
                    {
                        case "OPTIONS":
                            break;
                        case "HEAD":
                        case "GET":
                            //Get(request, response);
                            break;
                        case "POST":
    
                            byte[] contentPDF = GenerarPDF_Generar(request);
    
                            response.AddHeader("content-disposition", string.Format("attachment; filename=Sustento_Citas.pdf"));
                            response.ContentType = "application/pdf";
                            response.Clear();
                            response.BinaryWrite(contentPDF);
                            //response.End();
                            HttpContext.Current.ApplicationInstance.CompleteRequest();
    
    
                            break;
                        case "DELETE":
                            break;
                        default:
                            response.Status = "Method Not Allowed";
                            response.StatusCode = 405;
                            response.End();
                            break;
                    }
                }
                catch (Exception ex)
                {
    
                    string e = ex.Message;
                }
            }

    cambie el response.End por HttpContext.Current.ApplicationInstance.CompleteRequest(); pero sigue el inconveniente



    Si sabes poco, aprende. Si sabes mucho, enseña

    viernes, 15 de noviembre de 2019 14:42

Todas las respuestas