Upload de imágenes e insert del path en bd

Estoy trabajando con asp y access y a partir de un formulario que he diseñado, que tiene varios campos - entre ellos tres de imágenes (FILE1, FILE2, FILE3)-necesitaría saber cómo hacer un upload con Persist y a su vez insertar los path en los tres campos correspondientes de la base datos(IMG1, IMG2, IMG3).
Te agradecería mucho cualquier colaboración que puedas brindarme. Estoy trabajando coc Dreamweaver MX y el código del upload con persist es el siguiente:
<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = False
On Error Resume Next
Upload.SetMaxSize 100, True '
Count = Upload.Save("c:\Inetpub\wwwroot\LosAnuncios\Upload")
%>
Saludos
Juan Pablo
La Pampa - Argentina

1 Respuesta

Respuesta
1
Por eso te decía que es necesario que sigas probando! Puedes seguir subiendo niveles agregando "/..", es decir:
Response.write "Archivo listo en " & replace(Archivo.Path, server.mappath("../.."),"..")
Ahora, si aún así no funciona, trata igualando las capitalizaciones, por ejemplo:
Response.write "Archivo listo en " & replace(UCase(Archivo.Path), UCase(server.mappath("../..")),"..")
Y sigue tratando e investigando! Te aseguro que es la mejor forma de aprender.
No me funciona, ¿será por el archivo que ejecuto está en el direcotorio www (donde está el sitio) y el directorio Upload está un nivel más arriba?
Te envío el código:
<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = False
On Error Resume Next
Upload.SetMaxSize 100000, True '
Count = Upload.Save("c:\websites\reseller_3\misitio.com\Upload")
For Each Archivo in Upload.Files
'Aquí tu código para insertar
Response.write "Archivo listo en " & replace(Archivo.Path, server.mappath(".."),"..")
Next
%>
Me sigue imprimiendo:
Archivo listo en c:\websites\reseller_3\misitio.com\Upload\imagen.jpg
En realidad el proceso es bastante simple, y ya tienes casi todo listo. Suponiendo que sabes cómo insertar valores en Access, lo único que te falta es recorrer la colección de archivos que se subieron para obtener la ruta. Esto se hace de la siguiente forma:
<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = False
On Error Resume Next
Upload.SetMaxSize 100, True '
Count = Upload.Save("c:\Inetpub\wwwroot\LosAnuncios\Upload")
For Each Archivo in Upload.Files
'Aquí tu código para insertar
Response.write "Archivo listo en " & Archivo.Path
Next
%>
Puedes encontrar un muy buen ejemplo en
http://www.asp101.com/resources/aspupload.asp
En esta página además puedes encontrar otras funcionalidades, como limitar el tamaño del archivo y evitar los nombres duplicados.
Ojalá te sirva!
Bien, el único inconveniente es que me da el path así:
Archivo listo en c:\websites\reseller_2\misitio.com\misitio.com\Upload\002.jpg
Y yo necesitaría solo guardar en la bd este tramo de la ruta:
..\Upload\002.jpg
Los dos puntos son porque el directorio upload está ubicado un nivel más arriba que el www.
No sé qué te parce el planteo, quedo a la espera de tu indicación...
Saludos!
¿Qué te parece algo como esto?
Response.write "Archivo listo en " & replace(Archivo.Path, server.mappath(".."), "..")
Puedes afinarlo un poco (agregando o quitando "\" según corresponda).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas