예제 #1
0
        public ActionResult DescargarInforme(string nombreArchivo)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(nombreArchivo))
                {
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                }
                else
                {
                    string contentType = modelo.GetMimeType(nombreArchivo);

                    byte[] fileBytes = modelo.obtenerInformeToByte(nombreArchivo, session.Usuario.USU_LOGIN);

                    Response.StatusCode = (int)HttpStatusCode.OK;
                    Response.Clear();
                    Response.AddHeader("Content-Length",
                                       fileBytes.Length.ToString());
                    return(File(fileBytes, contentType, nombreArchivo));
                }
            }
            catch (Exception ex)
            {
                Response.StatusCode        = (int)HttpStatusCode.InternalServerError;
                Response.StatusDescription = ex.Message;
            }
            return(null);
        }