コード例 #1
0
        //HttpPostedFileBase: Envia información del fichero
        //(nombre, encoding, tamaño, string transformado, etc)
        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"));
        }
コード例 #2
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"));
        }