Hola, tengo un formulario, y me gustaria poner una casilla con un boton de "Examinar..." en donde se pudiera actualizar una fotografia e insertarla en una base de datos, alguno tiene idea de como se hace?
muchas gracias :)
| |||
upload una foto a bd desde formulario Hola, tengo un formulario, y me gustaria poner una casilla con un boton de "Examinar..." en donde se pudiera actualizar una fotografia e insertarla en una base de datos, alguno tiene idea de como se hace? muchas gracias :) |
| |||
utiliza algun componente de ASP (que tenga instalado tu server o tu proveedor de hosting) para hacer upload de archivos... es lo mas facil..... hay varios componentes... pero son mas o menos parecidos... puedes decirle que archivos filtrar... como por ejemplo... que solo suban gif y jpg solamente. Tu puedes... o bien subir el archivo a un folder del servidor y despues agregar la ruta de acceso a ese archivo en un campo de tu base de datos.... o bien (depende del componente) subirlo directamente a la base de datos... obviamente con algunos comandos que te trae el mismo componente.... siguiendo algunos pasos y unas series de sintaxis no muy complicadas... yo no tuve la oportunidad de hacerlo pero lei un poco las instrucciones de el componente SA-FileUp... es uno de los mas completitos.. Saludos.
__________________ tech-nico.com |
| |||
bien, ya tengo el SA-FileUp, lo tenia mi servidor instalado, pero al meterle el codigo, me tira el siguiente error: Request object error 'ASP 0206 : 80004005' Cannot call BinaryRead /departamentos/rrhh/gracias.asp, line 87 Cannot call BinaryRead after using Request.Form collection. El codigo que estoy usando es este: <% Set upl = Server.CreateObject("SoftArtisans.FileUp") %> <% upl.Path = "g:\activewebroot\03788\Z25228486\departamentos\rr hh\" %> <% upl.Save %><BR> AQUI ES DONDE DA EL FALLO, EN ESTA LINEA Gracias por suministrar tu foto.<br> Tamaño del archivo: <%=upl.TotalBytes%> |
| |||
mira.... yo lo habia armado de esta forma.... pero como tenia problemas con el browser...y no alcance a probarlo..... -------------------------------------------------------------- Thank you for uploading your file.<br> <% 'Set upl = Server.CreateObject("SoftArtisans.FileUp") upl.Path = "C:\temp" FName = Mid(upl.Form("f1").value, InstrRev(upl.Form("f1").value, "\") + 1) FCONT = upl.ContentType --- You can then use the Select Case Condition to restrict the file type. Select Case LCase(FCONT) Case "image/gif" var = "OK" Case "image/pjpeg" var = "OK" Case Else upl.delete Response.Write "<P>" & "You are restricted to only upload gif and Jpeg files.<BR>" End Select MyWebSitePath = Request.ServerVariables("APPL_Physical_Path") ' solo una prueba Response.write(MyWebSitePath)' solo una prueba para saber el path en el que esta el servidor.... if var = "OK" then On Error Resume Next upl.SaveInVirtual "/wwwroot/upload" Response.Write "<P>" & FName & " has been saved." If Err <> 0 Then Response.Write("An error occurred when saving the file on the server.") end if Total Bytes Written: <%=upl.TotalBytes%> -------------------------------------------------------------- Pruebalo y me dices que tal te fue.... espero que bien.... ! saludos!
__________________ tech-nico.com |
| |||
uhmm, sigue dando fallo, pero esta vez al final del codigo ahi va: Microsoft VBScript compilation error '800a0401' Expected end of statement /departamentos/rrhh/gracias.asp, line 101 Total Bytes Written: <%=upl.TotalBytes ------------^ que pena por una linea no tira palante :( ainss |
| ||||
Por que no instalas (si puedes) un componente mas popular, como ASPUPLOAD O ASPSMARTUPLOAD. Muchos de aqui los usamos y sabemos mejor por donde van los posibles fallos En las paginas del sitio hay ejemplos completos que no necesitas ni tocar. http://www.aspupload.com/ |
| |||
el problema es que estoy en un hosting y no puedo instalar componentes, si el server fuera mio ya no habria problema, pero bueno, logre quitarle el error ese. suprime las lineas: If Err <> 0 Then Response.Write("An error occurred when saving the file on the server.") end if Total Bytes Written: <%=upl.TotalBytes%> y luego ya me dio el fallo del principio el de que no se puede usar una Request object error 'ASP 0206 : 80004005' Cannot call BinaryRead /departamentos/rrhh/gracias.asp, line 87 Cannot call BinaryRead after using Request.Form collection. osea, que estoy como al principio |
| |||
como dice Gurrutello.... fijate si las etiquetas de abrir y cerrar el ASP estan bien... que no se repitan.... Tambien puedes averiguar si en tu server tienen la particion donde quieres guardar los archivos con acceso de escritura... o algo asi.... suele ser un problema muy comun.
__________________ tech-nico.com |
| ||||
ok vamos por parte tu codigo quedaria If Err <> 0 Then Response.Write("An error occurred when saving the file on the server.") end if response.write"Total Bytes Written: "&upl.TotalBytes&"" |
| ||||
no has pensado en el XelpUpload? no necesitas componentes.. saludos http://www.aspfacil.com/articulos/07092001.asp |
| |||
el XelpUpload tiene buena pinta, mañana mismo lo pruebo, lo he estado mirando y parece que si funcionara Gurrutello, no se lo que le pasa al codigo pero siempre da fallo :(, no se porque, voy a probar el XelpUpload a ver si tira, ya os contare gracias a todos!! ;) |