Exemplo n.º 1
0
        public ActionResult GetBase64Azure(string nombre)
        {
            var cu = ConfigurationManager.AppSettings["AccountnameAzureStorage"];
            var cl = ConfigurationManager.AppSettings["PasswordAzureStorage"];
            var co = ConfigurationManager.AppSettings["ContainerAzureStorage"];

            var sto = new AzureStorageUtil(cu, cl, co);

            var data = sto.RecuperarFichero(nombre, co);
            return View(Convert.ToBase64String(data));
        }
Exemplo n.º 2
0
        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 cu = ConfigurationManager.AppSettings["AccountnameAzureStorage"];
                var cl = ConfigurationManager.AppSettings["PasswordAzureStorage"];
                var co = ConfigurationManager.AppSettings["ContainerAzureStorage"];

                var sto = new AzureStorageUtil(cu, cl, co);

                fichero = sto.RecuperarFichero(f.datos, co);
            }
            return File(fichero, System.Net.Mime.MediaTypeNames.Application.Octet, f.nombre);
        }
Exemplo n.º 3
0
        public ActionResult Subida(Ficheros model, HttpPostedFileBase fichero)
        {
            if (model.tipo == "interno")
            {
                var n = GestionarFicheros.GuardarFicheroDisco(fichero, Server);

                if (n != null)
                {
                    model.datos = n;
                    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.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.nombre = fichero.FileName;
                    model.datosb = datab;
                    model.datos = "";
                    db.Ficheros.Add(model);
                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }
                }
            }
            else if (model.tipo == "azure")
            {
                var cu = ConfigurationManager.AppSettings["AccountnameAzureStorage"];
                var cl = ConfigurationManager.AppSettings["PasswordAzureStorage"];
                var co = ConfigurationManager.AppSettings["ContainerAzureStorage"];

                var az = new AzureStorageUtil(cu, cl, co);
                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");
        }