Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASP Clásico (http://www.forosdelweb.com/f15/)
-   -   Subir múltiples imagenes a multiples carpetas (http://www.forosdelweb.com/f15/subir-multiples-imagenes-multiples-carpetas-593256/)

portillo18 04/06/2008 08:52

Subir múltiples imagenes a multiples carpetas
 
Hola a todos!


tengu un problema a la hora de insertar imagenes multiples con xupload, el siguiente codigo que les muestro es el que utilizo en mi pagina.
El tema esta esque mi página trata de lugares, recibo de una variable de session el carpeta del lugar seleccionado.Hasta aqui todo bien, pero a mayores dentro de la carpeta tengo otras dos subcarpetas(100x100 y 200x200) donde me interesa redimensionar las imagenes esas dimensiones(100x100 y 200x200).El codigo me guarda las imagenes en la carpeta del lugar, pero no se como hacer para que a mayores me las guarde tambien el las otras dos pero ya redimensionadas.



Cita:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
'Cojo el nombre de carpeta que guardo correctamente en una pagina anterior
carpeta = Session("carpetasubida")
response.write ""&carpeta&""
'El siguiente código es para el XUPLOAD de persits, que se complementa con el de más abajo (dentro de body)
'creo la variable donde meto la direccion donde quiero subir el conjunto de imagenes.

'Este código es el que hace subir las imagenes al servidor.
if request("act") = "up" then
carpeta = Session("carpetasubida")

%>
<OBJECT RUNAT=Server ID=Upload PROGID="Persits.Upload.1"></OBJECT>
<%
'Mediante la variable "directorio" le digo donde quiero subir las imagenes. Una vez hecho mostramos un mensaje con el nª de fotografias subidas.
nCount = Upload.Save(server.MapPath("/lugares/"&carpeta))%><%response.end

'--------------------------------------
'****AQUI ES DONDE DEBERIA IR LA PARTE DE CÓDIGO QUE ME FALTA****
'---------------------------------------

end if
%>

<html>
<head>
<title>subir conjunto de fotografias</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body link="#333333" vlink="#333333" alink="#333333" leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<table width="622" border="0" align="center" cellpadding="0" cellspacing="4">
<tr>
<td width="593" height="28"> <div align="center"><FONT class=textov1><strong><FONT color="#CC3300" class=textov1>Subir
</FONT><FONT color="#CC3300" class=textov1> fotograf&iacute;as al servidor(En construccion, no tocar).</FONT><br>
</strong></FONT></div></td>
</tr>
<tr>
<td><div align="center">
<!--CREAMOS LOS BOTONES DE AGREGAR IMAGENES-->
<SCRIPT LANGUAGE="VBScript">
Sub Select_OnClick
UploadCtl.Select
End Sub

Sub SelectFolder_OnClick
UploadCtl.SelectFolder
End Sub

Sub Remove_OnClick
UploadCtl.RemoveHighlighted
End Sub

Sub RemoveAll_OnClick
UploadCtl.RemoveAll
End Sub
Sub Upload_OnClick
UploadCtl.RemoveAllFormItems
UploadCtl.Upload
End Sub
</SCRIPT>
<!--creamos el activeX (XUPLOAD de PERSITS)para agregar imagenes. -->
<br>
<br>
<INPUT TYPE="BUTTON" class="button" NAME="SELECT" VALUE="Seleccionar imagen">
<INPUT TYPE="BUTTON" class="button" NAME="SELECTFOLDER" VALUE="Seleccionar carpeta">
<INPUT TYPE="BUTTON" class="button" NAME="REMOVE" VALUE="Borrar">
<INPUT TYPE="BUTTON" class="button" NAME="REMOVEALL" VALUE="Borrar todo">
<INPUT TYPE="BUTTON" class="button" NAME="UPLOAD" VALUE="UPLOAD" onpress="return upload(this)">
</div></td>
</tr>
</table>
<object width="620" height="200" id="UploadCtl" classid="clsid:e87f6c8e-16c0-11d3-bef7-009027438003" codebase="XUpload.ocx">
<param name="Server" value="<% = Request.ServerVariables("SERVER_NAME") %>">
<param name="Script" value="<% = Request.ServerVariables("SCRIPT_NAME") %>?act=up">
</object>
</body>
</html>


eSPERO QUE ALGUIEN PUEDA AYUDARME, O SI TIENE UN CÓDIGO QUE HAGA ALGO SIMILAR si pusiese mostrarlo se lo agradeceria!



gracias de antemano.

Shiryu_Libra 04/06/2008 09:49

Respuesta: Subir múltiples imagenes a multiples carpetas
 
guardas todo dentro de la session(carpeta)??

y como sabras la dimension de dicho item??
Cita:

if File.ImageWidth = 100 and File.ImageHeight = 100 then
carpeta de 100x100
elseif File.ImageWidth = 200 and File.ImageHeight = 200 then
carpeta de 100x100
elseif File.ImageWidth = ??? and File.ImageHeight = ??? then
carpeta de ??x??
.
.
.
end if
realizas esto antes de aplicar el metodo SAVE, podras enviar las fotos como mencionas

es eso lo que intentas? o estoy desvariando?

portillo18 05/06/2008 01:26

Respuesta: Subir múltiples imagenes a multiples carpetas
 
Muchas gracias Shiryu_Libra:

Quizas no me explique bien:
En primer lugar mi pagina tiene lugares y las fotos de cada lugar las guardo en carpetas, ej: pirineos, sierra morena, ...
Desde administracion creo lugares, que me crea una carpeta con el nombre del lugar y dentro de esta otras dos(100x100 y 200x200).
Cuando voy a meterle fotos al lugar guardo en la session("carpeta") el nombre del lugar(que tambien tiene la carpeta), de la forma que mostre el código aqui si me guarda las imagenes, el problema es que no se como hacer para que a mayores tambien me guarde las imagenes redimensionadas por mi desde código seleccionadas en las otras dos carpetas(100x100 y 200x200) dentro del lugar seleccionado (session("carpeta"))


Espero haberme explicado mejor.

JuanRAPerez 05/06/2008 08:16

Respuesta: Subir múltiples imagenes a multiples carpetas
 
JuanRAPerez Traslator: (jajajajja comentario offtopic)

el problema es:
+ sube una imagen (con el componente XUPLOAD de persits)
+ la guarda en una carpeta con el nombre del lugar (/lugares/CasaDePiedra)
+ dentro de el lugar CasaDePiedra el crea dos carpetas las de 100 y las de 200
+ el desea saber como guardar la foto que subio a esas carpetas con esas dimensiones (creo que las de 100 y 200 son sus "thumbnails"


mi comentario:
has llegado hasta crear la carpeta y subir la imagen (tal y como esta en tu pc con las dimensiones originales de la foto) y has creado las dos carpetas 100x100 y 200x200

Opción 1
si usas un componente de pago como lo es XUPLOAD; y si tienes la capacidad de pago de un componente mas compra este http://www.aspjpeg.com/

este componente te permitirá hacer los "thumbnails" (http://www.aspjpeg.com/manual_02.html) de el tamaño que lo desees.

cuando haces el proceso de salvar (Jpeg.Save) le indicas de acuerdo a las dimensiones de la imagen el lugar donde debe guardar la foto de 100 de ancho y la de 200

si tu foto original mide 3 megas puedes redimensaionarla y borrar esa de 3 o 5 megas (la original) para que no utilice espacio e mas en tu server.

Opción 2
hay un aspx (no lo he encontrado en mi maquina para pasartelo) que esta en las faq, o en las funciones, que redimensiona las imagenes es gratis solo trabaja con el GDI de Microsoft.

Redimensionas la imagen y ahi mismo le dices que el resultado te lo deje en el folder de 100 o de 200 dependiendo de el proceso en el que estes


lee este post
http://www.forosdelweb.com/f15/redim...nentes-399226/

y has la busqueda en el foro

suerte

portillo18 05/06/2008 08:36

Respuesta: Subir múltiples imagenes a multiples carpetas
 
Muchas Gracias JuanRAPerez esa es la idea jeje


Ahora suponiendo que esten redimensionadas, como hago para que me las guarde en las tres carpetas?

Cita:

%>
<OBJECT RUNAT=Server ID=Upload PROGID="Persits.Upload.1"></OBJECT>
<%
'Mediante la variable "directorio" le digo donde quiero subir las imagenes. Una vez hecho mostramos un mensaje con el nª de fotografias subidas.
nCount = Upload.Save(server.MapPath("/lugares/"&carpeta))%><%response.end

'--------------------------------------
'****AQUI ES DONDE DEBERIA IR LA PARTE DE CÓDIGO QUE ME FALTA****
'---------------------------------------

end if
%>

como pongo lo que falta para que me las guarde en las otras dos carpetas tambien.

Probe con algo asi, y me daba error:



Cita:

%>
<OBJECT RUNAT=Server ID=Upload PROGID="Persits.Upload.1"></OBJECT>
<%
'Mediante la variable "directorio" le digo donde quiero subir las imagenes. Una vez hecho mostramos un mensaje con el nª de fotografias subidas.
nCount = Upload.Save(server.MapPath("/lugares/"&carpeta))%><%response.end

'--------------------------------------
'****AQUI ES DONDE DEBERIA IR LA PARTE DE CÓDIGO QUE ME FALTA****
'---------------------------------------

nCount = Upload.Save(server.MapPath("/lugares/"&carpeta&"/100x100"))%><%response.end

nCount = Upload.Save(server.MapPath("/lugares/"&carpeta&"/200x200"))%><%response.end

end if
%>




Ayuda!Gracias

JuanRAPerez 05/06/2008 09:16

Respuesta: Subir múltiples imagenes a multiples carpetas
 
el uso de response.end termina la ejecución de el codigo eso quiere decir que lo que sigue despues de un response.end ya no se ejecuta asi que quita los response.end que estan de mas.

si ya la tienes redimensionada la pregunta es la redimensionas en el server (despues de subirla) o ya la subes redimensionada al server????


en todo caso si la redimensionas en el server, ahi es donde tienes que usar el proceso de salvarla donde corresponde.

si no es el caso mueve la imagen re dimensionada con un FSO.

y si la idea va por ese lado
nCount = Upload.Save(server.MapPath("/lugares/"&carpeta&"/200x200"))

si y solo si las subes ya con las dimensiones de 200x200

suerte

portillo18 06/06/2008 02:52

Respuesta: Subir múltiples imagenes a multiples carpetas
 
Hola JuanRAPerez:

Al ponerlo de esa forma me da error en la siguiente linea:

nCount = Upload.Save(server.MapPath("/lugares/"&carpeta&"/100x100"))%>

nCount = Upload.Save(server.MapPath("/lugares/"&carpeta&"/200x200"))%>


y me dice lo siguiente:


save method must not be called more than once


yo entiendo que el metodo ya esta abierto o algo asi.



Como seria?



Gracias

portillo18 06/06/2008 08:28

Respuesta: Subir múltiples imagenes a multiples carpetas
 
SIGO PETAO EN ESTO!


alguien me puede echar una mano?



gracias


La zona horaria es GMT -6. Ahora son las 04:09.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.