Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2010, 16:55
enla
 
Fecha de Ingreso: junio-2010
Mensajes: 37
Antigüedad: 12 años, 7 meses
Puntos: 0
[Tutorial] Subir archivos al Servidor y agregarlos en la BD usando ASP.NET y Ajax

Buenas Noches, les saludas un forero más que trata de hacer desarrollo de aplicaciones Windows y web en el paso de los días comenzare hacerlo este es mi primer tutorial en este foro, espero que sea de agrado,
Subir archivos al Servidor y agregarlos en la BD usando ASP.NET y Ajax
Para lograr este cometido, se necesitará visual Studio 2005 o superior y/o contar con el Net Framework 2.0, además vamos a bajar un componente llamado FileUploadAjax (es un control open source para ASP.NET 2.0 de un modo de uso muy similar al tradicional FileUpload pero con una diferencia clave: ¡comportamiento AJAX!) para ello lo podemos descargar del siguiente enlace
Código:
http://download.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=fileuploadajax&DownloadId=20976&FileTime=128382497345600000&Build=16821
Lo descomprimen y dentro de ello encontraran un archivo, fua.dll este archivo lo anexaremos al Visual Studio (Visual Web Developer).
Para ello ingresamos al Visual Studio (en mi caso uso el 2010) y de ahí creamos un proyecto web.

Luego nos dirigimos a la barra de herramientas y a la pestaña general, le das un clic derecho, y la opción Elegir elementos

aparecerá un cuadro de dialogo donde damos clic en examinar

después de ello buscamos donde se encuentra el archivo fua.dll

y lo aceptamos y aplicamos y aceptamos.


Aparecerá un nuevo control, este control lo jalamos al espacio de trabajo, y le hacemos la siguiente configuración


Ahora creamos nuestra tabla en nuestra base de datos.


Aqui les dejo del codigo que se podra activar dandole clic en la pagina en modo diseño.
Código vb:
Ver original
  1. 'Agregamos las referencias que necesitamos.
  2. Imports Subgurim.Controles     'Esta referencia es la utilizacion del Control FileuploadAjax.
  3. Imports System                 'Nos ayuda a tener el control de las carpetas del servidor.
  4. Imports System.IO              'Nos ayuda a tener el control de las carpetas del servidor.
  5. Imports System.Web             'Configuraciones web.
  6. Imports System.Data.SqlClient  'Acceso a la base de datos.
  7.  
  8. Partial Class CargarArchivo
  9.     Inherits System.Web.UI.Page
  10.     Private tempfolder As String = New String("~/archivos") ' Carpeta donde se almacenarán los archivos.
  11.    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  12.         If FileUploaderAJAX1.IsPosting Then
  13.             manejoarchivos()
  14.         End If
  15.     End Sub
  16.  
  17.     Private Sub manejoarchivos()
  18.         Dim pf As HttpPostedFileAJAX = FileUploaderAJAX1.PostedFile 'Pasamos las propiedas del archivo que se ha cargado.
  19.        If pf.Type = HttpPostedFileAJAX.fileType.image Then 'Verificamos que solo pase archivos tipo imagen
  20.            FileUploaderAJAX1.SaveAs(tempfolder, pf.FileName)       'Carga el archivo en el servidor.
  21.            grabarBD(pf.FileName_Path, pf.ContentLength)            'Procedimiento para guardar la ruta en la base de datos.
  22.        End If
  23.     End Sub
  24.     Private Sub grabarBD(ByVal ruta As String, ByVal tamanhio As Long)
  25.         Dim conexion As String
  26.         Dim strsql As String
  27.         Dim objcn As SqlConnection
  28.         Dim objcmd As SqlCommand
  29.         Try
  30.             conexion = ConfigurationManager.ConnectionStrings("ConectarBD").ConnectionString  'Cadena de conexión de la base de datos
  31.            objcn = New SqlConnection(conexion)  'Instanciamos la conexión con el servidor de datos
  32.            If objcn.State = Data.ConnectionState.Closed Then 'Verificamos si la conexión esta cerrada
  33.                objcn.Open() 'Abrimos la conexión
  34.            End If
  35.             strsql = "insert into Ruta_Archivos(Ruta, Tamanio) values ('" & ruta & "'," & tamanhio & ")" 'Sentencia SQL para la inserción de los datos
  36.            objcmd = New SqlCommand(strsql, objcn) 'Habilita la Transact-SQL
  37.            objcmd.ExecuteNonQuery() 'Ejecuta la sentencia SQL
  38.        Catch generatedExceptionName As Exception
  39.             FileUploaderAJAX1.text_Delete = FileUploaderAJAX1.text_Delete & " " & Err.Description 'Si existe algun error lo muestra en el texto del borrado
  40.        Finally
  41.             objcn.Close() 'Cerramos la conexion
  42.        End Try
  43.     End Sub
  44. End Class

Espero que sea de su agrado y tambien para que muchos que conozcan tambien publiquen sus conocimientos, si tienen problemas no se olviden en postear en este mismo hilo.