public FileResult ObtenerArchivo(Guid id) { var archivo = new Repositorio <Archivo>(db).Traer(id); var name = archivo.Nombre; byte[] byteArchivo; ws.filemanager.Service1SoapClient client = new ws.filemanager.Service1SoapClient(); if (Guid.TryParse(name, out id)) { byteArchivo = client.GetFile(id); } else { byteArchivo = client.GetFileByName(name); } Response.Headers.Add("Etag", "\"" + name.ToLower().Split('-').First() + ":0\""); Response.Cache.SetExpires(DateTime.Now.AddHours(24)); Response.Cache.SetLastModified(new DateTime(2017, 01, 02)); Response.Cache.SetCacheability(HttpCacheability.Public); return(File(byteArchivo, System.Net.Mime.MediaTypeNames.Application.Octet, "Archivo." + archivo.Contenido)); }
public FileResult GetFileByName(string name) { ws.filemanager.Service1SoapClient client = new ws.filemanager.Service1SoapClient(); var file = client.GetFileByName(name); return(File(file, System.Net.Mime.MediaTypeNames.Application.Octet, name)); }
public ActionResult ObtenerImagen(string name, string height = null, string width = null, string mode = "crop", int quality = 100) { ws.filemanager.Service1SoapClient client = new ws.filemanager.Service1SoapClient(); Guid id = Guid.Empty; byte[] imageData; if (Guid.TryParse(name, out id)) { imageData = client.GetFile(id); } else { imageData = client.GetFileByName(name); } if (imageData == null) { return(null); } int?heightValue = null; int?widthValue = null; if (height != null) { heightValue = Convert.ToInt32(height); } if (width != null) { widthValue = Convert.ToInt32(width); } var modificado = ImageHelper.ResizeImage(imageData, heightValue, widthValue, mode, quality); Response.Headers.Add("Etag", "\"" + name.ToLower().Split('-').First() + height + width + mode + quality + ":0\""); Response.Cache.SetExpires(DateTime.Now.AddHours(24)); Response.Cache.SetLastModified(new DateTime(2017, 01, 02)); Response.Cache.SetCacheability(HttpCacheability.Public); return(File(modificado, System.Net.Mime.MediaTypeNames.Application.Octet, name)); }