public ActionResult GetBase64Azure(string nombre) { var cuenta = ConfigurationManager.AppSettings["CuentaAS"]; var clave = ConfigurationManager.AppSettings["ClaveAS"]; var contenedor = ConfigurationManager.AppSettings["ContenedorAS"]; var sto = new AzureStorageUtils(cuenta, clave, contenedor); var data = sto.RecuperarArchivo(nombre, contenedor); var fic = new FicheroBase64() {Contenido = Convert.ToBase64String(data)}; return View(fic); }
public FileResult DownloadFile(int id, int tipo = 0) { byte[] fichero = new byte[] {}; var f = db.Ficheros.Find(id); if (tipo == 0) { fichero = Convert.FromBase64String(f.Datos); }else if (tipo == 1) { fichero = f.DatosB; }else if (tipo == 2) { var cuenta = ConfigurationManager.AppSettings["CuentaAS"]; var clave = ConfigurationManager.AppSettings["ClaveAS"]; var contenedor = ConfigurationManager.AppSettings["ContenedorAS"]; var sto = new AzureStorageUtils(cuenta, clave, contenedor); fichero = sto.RecuperarArchivo(f.Datos, contenedor); } return File(fichero, MediaTypeNames.Application.Octet, f.Nombre); }
public ActionResult Subida(Ficheros model, HttpPostedFileBase fichero) { if (model.Tipo == "interno") { var n = GestionarFicheros.GuardarFicheroDisco(fichero, Server); if (n != null) { model.Datos = n; model.DatosB = new byte[] {1}; db.Ficheros.Add(model); try { db.SaveChanges(); } catch (Exception e) { Console.WriteLine(e); } } } else if (model.Tipo == "base64") { var data = GestionarFicheros.ToBinario(fichero); if (data != null) { model.Datos = Convert.ToBase64String(data); model.DatosB = new byte[] {1}; model.Nombre = fichero.FileName; db.Ficheros.Add(model); try { db.SaveChanges(); } catch (Exception e) { Console.WriteLine(e); } } } else if (model.Tipo == "binario") { var datab = GestionarFicheros.ToBinario(fichero); if (datab != null) { model.Datos = ""; model.DatosB = datab; model.Nombre = fichero.FileName; db.Ficheros.Add(model); try { db.SaveChanges(); } catch (Exception e) { Console.WriteLine(e); } } } else if (model.Tipo == "azure") { var cuenta = ConfigurationManager.AppSettings["CuentaAS"]; var clave = ConfigurationManager.AppSettings["ClaveAS"]; var contenedor = ConfigurationManager.AppSettings["ContenedorAS"]; var az = new AzureStorageUtils(cuenta, clave, contenedor); var n = Guid.NewGuid(); var ext = fichero.FileName.Substring(fichero.FileName.LastIndexOf(".")); az.SubirFichero(fichero.InputStream, n + ext); model.Datos = n+ext; model.Nombre = fichero.FileName; db.Ficheros.Add(model); db.SaveChanges(); } return RedirectToAction("Index"); }