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'Agregamos las referencias que necesitamos.
Imports Subgurim.Controles 'Esta referencia es la utilizacion del Control FileuploadAjax.
Imports System 'Nos ayuda a tener el control de las carpetas del servidor.
Imports System.IO 'Nos ayuda a tener el control de las carpetas del servidor.
Imports System.Web 'Configuraciones web.
Imports System.Data.SqlClient 'Acceso a la base de datos.
Partial Class CargarArchivo
Inherits System.Web.UI.Page
Private tempfolder As String = New String("~/archivos") ' Carpeta donde se almacenarán los archivos.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If FileUploaderAJAX1.IsPosting Then
manejoarchivos()
End If
End Sub
Private Sub manejoarchivos()
Dim pf As HttpPostedFileAJAX = FileUploaderAJAX1.PostedFile 'Pasamos las propiedas del archivo que se ha cargado.
If pf.Type = HttpPostedFileAJAX.fileType.image Then 'Verificamos que solo pase archivos tipo imagen
FileUploaderAJAX1.SaveAs(tempfolder, pf.FileName) 'Carga el archivo en el servidor.
grabarBD(pf.FileName_Path, pf.ContentLength) 'Procedimiento para guardar la ruta en la base de datos.
End If
End Sub
Private Sub grabarBD(ByVal ruta As String, ByVal tamanhio As Long)
Dim conexion As String
Dim strsql As String
Dim objcn As SqlConnection
Dim objcmd As SqlCommand
Try
conexion = ConfigurationManager.ConnectionStrings("ConectarBD").ConnectionString 'Cadena de conexión de la base de datos
objcn = New SqlConnection(conexion) 'Instanciamos la conexión con el servidor de datos
If objcn.State = Data.ConnectionState.Closed Then 'Verificamos si la conexión esta cerrada
objcn.Open() 'Abrimos la conexión
End If
strsql = "insert into Ruta_Archivos(Ruta, Tamanio) values ('" & ruta & "'," & tamanhio & ")" 'Sentencia SQL para la inserción de los datos
objcmd = New SqlCommand(strsql, objcn) 'Habilita la Transact-SQL
objcmd.ExecuteNonQuery() 'Ejecuta la sentencia SQL
Catch generatedExceptionName As Exception
FileUploaderAJAX1.text_Delete = FileUploaderAJAX1.text_Delete & " " & Err.Description 'Si existe algun error lo muestra en el texto del borrado
Finally
objcn.Close() 'Cerramos la conexion
End Try
End Sub
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.