public ActionResult VerRevision(int id, long rev) { string rutaLog = HttpContext.Server.MapPath("/App_Data/Log.txt"); Documento doc = new PerDocumento().Obtener(id); var extension = Path.GetExtension(doc.Nombre); // Checar que sea un PDF. if (extension.ToLower() != ".pdf") { ViewBag.msj = "Sólo se pueden visualizar archivos PDF."; ViewBag.metodo = "Versiones"; ViewBag.id = id; return(View("Ver")); } if (Request.Browser.Type.ToUpper().Contains("IE")) { if (Request.Browser.MajorVersion < 9) { ViewBag.msj = "El visor de PDFs no soporta Internet Explorer 8 o inferior."; ViewBag.metodo = "Versiones"; ViewBag.id = id; return(View("Ver")); } } var rutaEnCopiaTrabajo = (doc.RevisionEliminacion.GetValueOrDefault() > 0) ? ((rev < doc.RevisionEliminacion.GetValueOrDefault()) ? doc.Ruta : doc.RutaEliminado) : doc.Ruta; string rutaTemp = HttpContext.Server.MapPath("/Temp/" + rev + doc.Nombre); string rutaUrl = HttpUtility.UrlEncode("/Temp/" + rev + HttpUtility.UrlPathEncode(doc.Nombre)); string msj = UtilSVN.ObtenerRevision(rev, rutaTemp, rutaEnCopiaTrabajo); if (msj == "Exito") { // Mandar a la página del viewer con el documento seleccionado. return(Redirect("~/Content/PDF.js/web/viewer.html?file=" + rutaUrl)); } else { ViewBag.msj = msj; return(View()); } }
public ActionResult DescargarRevision(int id, long rev) { string rutaLog = HttpContext.Server.MapPath("/App_Data/Log.txt"); //Utilerias.EscribirLog(rutaLog, "Usuario: " + Sesion.Current.Usuario.Nombre + " quiere descargar archivo con id: " + id + " en su revisión: " + rev + "."); ViewBag.msj = null; Documento doc = new PerDocumento().Obtener(id); var rutaEnCopiaTrabajo = (doc.RevisionEliminacion.GetValueOrDefault() > 0) ? ((rev < doc.RevisionEliminacion.GetValueOrDefault()) ? doc.Ruta : doc.RutaEliminado) : doc.Ruta; string rutaCopiaTrabajo = UtilSVN.ObtenerRutaCopiaTrabajo(); string rutaTemp = Path.GetFullPath(Path.Combine(rutaCopiaTrabajo, @"..\")); rutaTemp += "Temp"; Utilerias.CrearRuta(rutaTemp); var rutaArchivoTemp = rutaTemp + @"\" + doc.Nombre; Debug.WriteLine("rutaArchivoTemp: " + rutaArchivoTemp); string msj = UtilSVN.ObtenerRevision(rev, rutaArchivoTemp, rutaEnCopiaTrabajo); Debug.WriteLine("msj: " + msj); if (msj == "Exito") { if (System.IO.File.Exists(rutaArchivoTemp)) { return(File(rutaArchivoTemp, "application/octet-stream", Server.UrlEncode(doc.Nombre))); } else { ViewBag.msj = "No se encontró el archivo."; return(View("Versiones")); } } else { ViewBag.msj = msj; return(View("Versiones")); } }