Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/09/2006, 08:10
Mitico
 
Fecha de Ingreso: marzo-2003
Mensajes: 85
Antigüedad: 21 años
Puntos: 1
Hola Windows,

yo lo tengo hecho en VB, intentaré "traducírtelo" pero no te fíes del todo.

Lo primero sería tener un INPUT de tipo FILE en la aspx

Código:
<INPUT id="txtImagen" type="file" name="txtImagen" runat="server">
y a la hora de guardar los datos lo que tendrías que hacer es:

Código:
//En las siguientes variables leemos los datos del fichero
private Int32 Tamano = System.Convert.ToInt32(txtImagen.PostedFile.InputStream.Length);
private string Tipo = txtImagen.PostedFile.ContentType;
private string Nombre = txtImagen.PostedFile.FileName.Substring(txtImagen.PostedFile.FileName.LastIndexOf("\\") + 1);
private byte[] Contenido = new byte[Tamano + 1];
txtImagen.PostedFile.InputStream.Read(Contenido, 0, Tamano);

//Salvamos Fichero en la tabla
sqlCon = new SqlClient.SqlConnection("CadenaConexion");
sqlCon.Open();
strComando = "Insert Into Tabla(Contenido_Fichero, Tipo_Fichero, Tamano_Fichero, Nombre_Fichero) " + "Values(@Contenido, '" + Tipo + "', " + Tamano + ", '" + Nombre + "')";
sqlComando = new SqlClient.SqlCommand(strComando, sqlCon);
sqlComando.Parameters.Add("@Contenido", Contenido);
sqlComando.ExecuteNonQuery();
sqlComando.Dispose();

sqlCon.Close();
sqlCon.Dispose();
Hace tiempo que no uso eso y lo tenía en VS2003, espero te pueda servir igualmente. No obstante los campos a guardar pueden variar en dependencia de los que te interesen a ti. Lo que sí me acuerdo, y no sé porque era, es que el campo Contenido (el que realmente tiene el fichero) había que pasarlo obligatoriamente por parámetro. El campo Tipo puede ser útil para saber de qué tipo es el fichero a la hora de leerlos (intentaré encontrarte esta parte ahora).

Un saludo