public FileResult DownloadFile(int id, int tipo = 0) { byte[] fichero = new byte[] { }; var f = db.Fichero.Find(id); if (tipo == 0) { fichero = Convert.FromBase64String(f.Datos); } else if (tipo==1) { fichero = f.DatosBinarios; } else if (tipo==2) { var cu = ConfigurationManager.AppSettings["cuentaAzureStorage"]; var cl = ConfigurationManager.AppSettings["claveAzureStorage"]; var co = ConfigurationManager.AppSettings["contenedorAzureStorage"]; var sto = new AzureStorage(cu, cl, co); fichero = sto.RecuperarFicheroContenedor(f.Datos, co); } return File(fichero, MediaTypeNames.Application.Octet, f.Nombre); }
public FileResult DownloadFileB64(int id, int tipo = 0) { byte[] fichero = new byte[] {}; var busqueda = db.Fichero.Find(id); if (tipo == 0) { fichero = Convert.FromBase64String(busqueda.Datos); } else if(tipo==1) { fichero = busqueda.DatosBinarios; } else if (tipo==2) { var cuentaAz = ConfigurationManager.AppSettings["cuentaAzureStorage"]; var claveAz = ConfigurationManager.AppSettings["claveAzureStorage"]; var contAz = ConfigurationManager.AppSettings["contenedorAzureStorage"]; var azure = new AzureStorage(cuentaAz, claveAz, contAz); fichero = azure.RecuperarFicheroContenedor(busqueda.Datos, contAz); } return File(fichero, MediaTypeNames.Application.Octet, busqueda.Nombre); }
public ActionResult GetBase64Azure(String nombre) { var cuentaAz = ConfigurationManager.AppSettings["cuentaAzureStorage"]; var claveAz = ConfigurationManager.AppSettings["claveAzureStorage"]; var contAz = ConfigurationManager.AppSettings["contenedorAzureStorage"]; var storage = new AzureStorage(cuentaAz, claveAz, contAz); var data = storage.RecuperarFicheroContenedor(nombre, contAz); var f = new FicheroBase64() { Contenido = Convert.ToBase64String(data) }; return View(f); }
public ActionResult Subida(Fichero model, HttpPostedFileBase fichero) { if (model.Tipo == "interno") { var nombreFichero = SubirFicheros.GuardarFicheroDisco(fichero, Server); if (nombreFichero != null) { model.Datos = nombreFichero; db.Fichero.Add(model); try { db.SaveChanges(); } catch (Exception e) { Console.WriteLine(e); } } } else if (model.Tipo == "base64") { var data = SubirFicheros.ToBinario(fichero); if (data != null) { model.Datos = Convert.ToBase64String(data); model.Nombre = fichero.FileName; db.Fichero.Add(model); try { db.SaveChanges(); } catch (Exception e) { Console.WriteLine(e); } } } else if (model.Tipo == "binario") { var datab = SubirFicheros.ToBinario(fichero); if (datab != null) { model.Datos = ""; model.DatosBinarios = datab; model.Nombre = fichero.FileName; db.Fichero.Add(model); try { db.SaveChanges(); } catch (Exception e) { Console.WriteLine(e); } } } else if (model.Tipo == "azure") { var cuentaAz = ConfigurationManager.AppSettings["cuentaAzureStorage"]; var claveAz = ConfigurationManager.AppSettings["claveAzureStorage"]; var contAz = ConfigurationManager.AppSettings["contenedorAzureStorage"]; var azure=new AzureStorage(cuentaAz,claveAz,contAz); var guid = Guid.NewGuid(); var extension = fichero.FileName.Substring(fichero.FileName.LastIndexOf(".")); azure.SubirFichero(fichero.InputStream,guid+extension); model.Datos = guid + extension; model.Nombre = fichero.FileName; db.Fichero.Add(model); try { db.SaveChanges(); } catch (Exception e) { Console.WriteLine(e); } } return RedirectToAction("Index"); }