Foros del Web » Programando para Internet » ASP Clásico »

recuperar valor teniendo multipart/form-data

Estas en el tema de recuperar valor teniendo multipart/form-data en el foro de ASP Clásico en Foros del Web. Hola. Tengo una pagina donde subo una imagen al servidor y su ruta a la BD. Lo que me pasa es que quiero recuperar l ...
  #1 (permalink)  
Antiguo 28/02/2008, 02:38
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 5 meses
Puntos: 1
recuperar valor teniendo multipart/form-data

Hola.

Tengo una pagina donde subo una imagen al servidor y su ruta a la BD.
Lo que me pasa es que quiero recuperar l valor de la id(campo oculto) cuando entra en el case 2 y tengo dentro del formulario ENCTYPE="multipart/form-data" para subir la imagen.

Como puedo recuperar el id??? xq con lo de multipart/form-data no acepta el request.form()

Parte de mi codigo:

<body>
<p>
<%@LANGUAGE="VBSCRIPT"%>
<%response.buffer=true
Func = Request("Func")
if isempty(Func) Then
Func = 1
End if
Select Case Func
Case 1
%>

<FORM ENCTYPE="multipart/form-data" ACTION="nuevo_programa_formacion1.asp?func=2" METHOD=POST id=form1 name=form1>
<%
Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Driver={MySQL};SERVER=xxx;Port=3306;Database=xxx; Uid=xxx;Pwd=xxx;"

id=request.QueryString("id")

sqll="select * from nuevo_programa_formacion where id='"&i&"'"
set rss =con.execute(sqll)

%>
</p>
<div align="center"><strong><font size="5">CAMBIE LA IMAGEN A SU GUSTO
</font></strong><br>
</div>
<TABLE align="center">
<TR>
<TD><img src="imagenes/<%=rss("foto1")%>" alt="" name="foto1" width="150" height="150" id="foto1" /></TD>
</TR>
<TR>
<TD> <font size="2">
<INPUT NAME=File1 SIZE=30 TYPE=file>
<BR>
</font>
<input name="id" type="hidden" id="id" value="1">

<font size="2">&nbsp; </font></TD>
</TR>
<TR>
<TD align=left>
<INPUT type="submit" value="Subir">
<BR>
<br>
<BR>
</TD>
</TR>
</TABLE>
<%
Case 2
ForWriting = 2
adLongVarChar = 201
lngNumberUploaded = 0

Set Con = Server.CreateObject("ADODB.Connection")
Con.Open "Driver={MySQL};SERVER=xxx;Port=3306;Database=xxx; Uid=xxx;Pwd=xxx;"

id=?????

sqll="select * from nuevo_programa_formacion where id='"&id&"'"
set rss =con.execute(sqll)
if rss("foto1")<>"" then
foto_borrar=rss("foto1")
end if

'Get binary data from form
noBytes = Request.TotalBytes
binData = Request.BinaryRead (noBytes)
'convery the binary data to a string
Set RST = CreateObject("ADODB.Recordset")
LenBinary = LenB(binData)
...

Si necesitais el codigo entero lo podeis sacar de aqui. El codigo de arriba esta algo modificado aunq es practicamente lo mismo

http://asp.astalaweb.com/C%C3%B3digo...20archivos.asp

Un saludo y gracias.
  #2 (permalink)  
Antiguo 28/02/2008, 06:12
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Re: recuperar valor teniendo multipart/form-data

Creo que este temas lo tratastes hace poco y mi respuesta sigue siendo la misma

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 28/02/2008, 08:27
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: recuperar valor teniendo multipart/form-data

Me dijiste que pusiese el id=request.querystring("id") en
<%@LANGUAGE="VBSCRIPT"%>
<%response.buffer=true
Func = Request("Func")
id=request.QueryString("id")
if isempty(Func) Then
Func = 1
End if
Select Case Func
Case 1
%>

Lo probe y ese valor no me llega cuando entro al case 2.

Para verlo mas facil, con este codigo que pongo ahora (pagina p1.asp), cuando entro al case 2 no me escribe el valor de id

P1.ASP

<body>
<%@LANGUAGE="VBSCRIPT"%>
<%response.buffer=true
Func = Request("Func")
id=request.QueryString("id")
if isempty(Func) Then
Func = 1
End if
Select Case Func
Case 1
%>
<FORM ENCTYPE="multipart/form-data" ACTION="p1.asp?func=2" METHOD=POST id=form1 name=form1>
<%

id=request.QueryString("id")

response.Write("1- "&id) **esto si lo escribe**

%>
</p>
<div align="center"><strong><font size="5">CAMBIE LA IMAGEN A SU GUSTO
</font></strong><br>
</div>
<TABLE align="center">
<TR>
<TD align=left>
<INPUT type="submit" value="Subir">
</TD>
</TR>
</TABLE>
<%
Case 2
response.Write("2- "&id) **esto no lo escribe**
End Select
%>
</body>
  #4 (permalink)  
Antiguo 28/02/2008, 08:49
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: recuperar valor teniendo multipart/form-data

Claro que no, para que escribiera algún valor e ID, este debería haber sido asignado desde antes del SELECT CASE, no dentro de una de las opciones.
  #5 (permalink)  
Antiguo 28/02/2008, 09:06
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: recuperar valor teniendo multipart/form-data

Lo pongo aqui como dice Adler, antes del select case y quito el que estaba dentro dl case 1 y aun asi no me lo escribe al llegar al case 2

<%@LANGUAGE="VBSCRIPT"%>
<%response.buffer=true
Func = Request("Func")
id=request.QueryString("id")
if isempty(Func) Then
Func = 1
End if
Select Case Func
Case 1
%>
  #6 (permalink)  
Antiguo 28/02/2008, 09:26
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: recuperar valor teniendo multipart/form-data

Creo que deberias sentarte muy tranquilamente a hacer una prueba de escritorio a tu código.

Esta lineas creo son la razón del por que no entra al Case 2
Func = Request("Func")
id=request.QueryString("id")
if isempty(Func) Then
Func = 1
End if


Solo te voy a comentar que estas manejando dos métodos de parámetros, y seguro ahí esta el detalle
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:15.