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); }
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); }
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 }