Exemplo n.º 1
0
        protected override bool Put(Uri url)
        {
            var tempFilePath = WriteReport2TempFile();

            var client = new ExtendedWebClient();

            client.Headers.Add("Content-Type", "application/x-gzip");
            client.Headers.Add("Content-Encoding", "gzip");
            client.UploadFile(url, "PUT", tempFilePath);

            return(true);
        }
Exemplo n.º 2
0
        public static string PostFileToGuest(string route, string file, string vmName)
        {
            string address = string.Format("{0}/{1}", (object)HTTPUtils.GuestServerUrl(vmName, "bgp"), (object)route);

            Logger.Info("Uploading {0} to {1}", (object)file, (object)address);
            ExtendedWebClient extendedWebClient = new ExtendedWebClient(200000);
            string            str = (string)null;
            int num = 1;

            while (num > 0)
            {
                try
                {
                    str = Encoding.UTF8.GetString(extendedWebClient.UploadFile(address, file));
                    break;
                }
                catch (WebException ex)
                {
                    Logger.Warning("Exception in post file");
                    HttpWebResponse response = (HttpWebResponse)ex.Response;
                    Logger.Error(ex.Message);
                    if (response != null)
                    {
                        if (response.StatusCode == HttpStatusCode.InternalServerError)
                        {
                            if (num == 1)
                            {
                                throw;
                            }
                            else
                            {
                                num = 2;
                            }
                        }
                    }
                }
                --num;
                if (num > 0)
                {
                    Thread.Sleep(2000);
                }
            }
            Logger.Info("Got response for {0}: {1}", (object)route, (object)str);
            return(str);
        }
Exemplo n.º 3
0
        private void aLMACENARToolStripMenuItem_Click(object sender, EventArgs e)
        {
            #region validaciones

            if (String.IsNullOrEmpty(inputnombre.Text))
            {
                Mensajes.error("Debe Seleccionar un Video");
                return;
            }

            if (String.IsNullOrEmpty(inputclientes_id.Text))
            {
                Mensajes.error("Debe Seleccionar un Cliente para el Video");
                return;
            }

            if (!Path.GetExtension(inputnombre.Text).Equals(".mp4"))
            {
                Mensajes.error("Solo Se Pueden Cargar Archivos con Formato mp4");
                return;
            }

            FileInfo infoArchivo = new FileInfo(inputnombre.Text);

            if (infoArchivo.Length > 20000000)
            {
                MessageBox.Show("Imposible subir el archivo, el limite permitido es de 20 Mb");
                return;
            }

            #endregion

            #region almacenar

            this.Cursor = Cursors.WaitCursor;

            #region post para almacenar video

            string uriString = VGlobales.rutaWeb + "/insert.php";

            var myWebClient = new ExtendedWebClient();
            myWebClient.AllowWriteStreamBuffering = false;

            myWebClient.Headers.Add("Content-Type", "binary/octet-stream");
            byte[] responseArray = myWebClient.UploadFile(uriString, "POST", inputnombre.Text);
            Mensajes.informacion(System.Text.Encoding.ASCII.GetString(responseArray));

            #endregion

            #region Insert a la bd

            if (System.Text.Encoding.ASCII.GetString(responseArray).Equals("Se ha Cargado con Exito el Archivo"))
            {
                #region consulta para saber en que numero de video sigue

                comando = Datos.crearComando();

                comando.Parameters.Clear();
                comando.CommandText = "SELECT ((ifnull(max(id),0))+1) as ID FROM videos";
                // Al ejecutar la consulta se devuelve un DataTable.
                // --
                DataTable Campana = Datos.ejecutarComandoSelect(comando);

                #endregion

                string             nombre      = Path.GetFileName(inputnombre.Text);
                string             ruta        = VGlobales.rutaWeb + "/videos/" + Campana.Rows[0]["ID"].ToString() + Path.GetExtension(inputnombre.Text);
                string             clientes_id = inputclientes_id.SelectedValue.ToString();
                WindowsMediaPlayer wmp         = new WindowsMediaPlayer();
                IWMPMedia          duracion    = wmp.newMedia(inputnombre.Text);

                try
                {
                    //Se realiza la inserción de los datos en la base de datos
                    comando = Datos.crearComando();

                    comando.Parameters.Clear();
                    comando.CommandText = "INSERT INTO videos (nombre, ruta, clientes_id, duracion) VALUES (@nombre, @ruta, @clientes_id, @duracion)";

                    comando.Parameters.AddWithValue("@nombre", nombre);
                    comando.Parameters.AddWithValue("@ruta", ruta);
                    comando.Parameters.AddWithValue("@clientes_id", clientes_id);
                    comando.Parameters.AddWithValue("@duracion", duracion.duration.ToString());

                    // Ejecutar la consulta y decidir
                    // True: caso exitoso
                    // false: Error.
                    if (Datos.ejecutarComando(comando))
                    {
                        // TODO: OPERACIÓN A REALIZAR EN CASO DE ÉXITO.
                        Mensajes.informacion("La inserción se ha realizado correctamente.");

                        string formulario  = this.Name;
                        string descripcion = "ACCIÓN: inserción; LOS DATOS DE LA ACCIÓN SON: nombre = " + nombre + ", ruta = " + ruta + ", clientes_id = " + clientes_id + ", duracion = " + duracion.duration.ToString() + "";
                        Datos.crearLOG(formulario, descripcion);
                        LlenarGridVideos();
                    }
                    else
                    {
                        Mensajes.error("Ha ocurrido un error al intentar realizar la inserción.");
                    }
                }
                catch
                {
                    Mensajes.error("Ha ocurrido un error al intentar realizar la inserción.");
                }
            }

            #endregion

            else
            {
                Mensajes.informacion(System.Text.Encoding.ASCII.GetString(responseArray));
                return;
            }

            this.Cursor = Cursors.Default;

            #endregion
        }