Foros del Web » Programación para mayores de 30 ;) » .NET »

de FileUpload a sqlserver

Estas en el tema de de FileUpload a sqlserver en el foro de .NET en Foros del Web. hola a todos un saludo tengo el siguiente problema espero me puedan hechar una manita, gracias. quiero subir archivos.docx a mi base de datos atravez ...
  #1 (permalink)  
Antiguo 24/05/2010, 11:45
 
Fecha de Ingreso: marzo-2010
Mensajes: 52
Antigüedad: 14 años, 1 mes
Puntos: 0
de FileUpload a sqlserver

hola a todos un saludo

tengo el siguiente problema espero me puedan hechar una manita, gracias.

quiero subir archivos.docx a mi base de datos
atravez del control fileupload q trae por default asp.net. aqui mi codigo para subir el archivo:

Guid IdUsuario =new Guid(idUsuer) ;

byte[] documento = new byte[FileUpload2.PostedFile.InputStream.Length];
byte[] doc = new byte[FileUpload2.PostedFile.ContentLength];

string NomDoc = FileUpload2.PostedFile.FileName.ToString();
Usuarios prueba = new Usuarios(DBConn);
prueba.insertar(documento, username, IdUsuario, NomDoc);


se guarda como un campo de bytes el problema es al querer descargarlo por q me dice q el archivo esta corrupto, aqui mi codigo para descargar:

SqlConnection conecta = new SqlConnection(DBConn);
SqlDataReader reader = null;
conecta.Open();
SqlCommand trae = new SqlCommand("SELECT documento from tabla where nombre_usuario=@nombrado", conecta);
trae.Parameters.Add("@nombrado", SqlDbType.NVarChar).Value = username;
reader = trae.ExecuteReader();

Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.Buffer = true;

Response.ContentType = "application/octet-stream";
reader.Read();
Response.AddHeader("Content-Disposition", "attachment;filename=doc.docx");
Response.BinaryWrite((byte[])reader["documento"]);

Response.Flush();
Response.Close();
Response.End();
conecta.Close();

no encuentro donde pueda estar haciendo mal las cosas pero si alguien me puede hechar una manita se los agradeceria mucho saludos.

Etiquetas: fileupload, sql-server
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:38.