Ayuda con multipart-form-data

17/11/2003 - 21:32 por Gabriel South | Informe spam
Hola!

Tengo una pagina (escribir.asp) con un formulario asi:

<FORM action="tablaclasi.asp" id="form1" name="form1" METHOD="POST"
ENCTYPE="multipart/form-data">

<input type="text" name="titulo" id="titulo" size="34" maxlength0
value="<%=titulo%>">
<input type="file" name="FILE1" id="FILE1" size="38">
<input id="submit1" name="submit1" value="submit1" type="submit">

</form>

Como veran hay un campo tipo "file", que es donde selecciono una foto para
hacer un upload al server
Tengo el problema de que cuando adiciono el ENCTYPE al formulario, y hago el
submit que lleva a la pagina "tablaclasi.asp", alli hago el
request.form("titulo"), etc,etc. y oh mi sorpresa cuando veo que no
llega absolutamente nada!!...

Saco el ENCTYPE y comienza a funcionar correctamente.

Cual es el problema que estoy teniendo???. vi algunos ejemplo de como
hacer esto y no hay diferencia con mi pagina, excepto que el archivo donde
esta el <FORM ENCTYPE> en vez de ser .ASP son .HTML... alguna
sugerencia?????

Saludos..

Preguntas similare

Leer las respuestas

#1 LJG
18/11/2003 - 11:27 | Informe spam
Yo cuando utilizo el multipart lo que hago es recuperar los valores con:

titulo = objUpload.Form("titulo")

en vez del Request y funciona bien.

Espero que te sirva, un saludo.


"Gabriel South" escribió en el mensaje
news:
Hola!

Tengo una pagina (escribir.asp) con un formulario asi:

<FORM action="tablaclasi.asp" id="form1" name="form1" METHOD="POST"
ENCTYPE="multipart/form-data">

<input type="text" name="titulo" id="titulo" size="34" maxlength0
value="<%=titulo%>">
<input type="file" name="FILE1" id="FILE1" size="38">
<input id="submit1" name="submit1" value="submit1" type="submit">

</form>

Como veran hay un campo tipo "file", que es donde selecciono una foto para
hacer un upload al server
Tengo el problema de que cuando adiciono el ENCTYPE al formulario, y hago


el
submit que lleva a la pagina "tablaclasi.asp", alli hago el
request.form("titulo"), etc,etc. y oh mi sorpresa cuando veo que no
llega absolutamente nada!!...

Saco el ENCTYPE y comienza a funcionar correctamente.

Cual es el problema que estoy teniendo???. vi algunos ejemplo de como
hacer esto y no hay diferencia con mi pagina, excepto que el archivo donde
esta el <FORM ENCTYPE> en vez de ser .ASP son .HTML... alguna
sugerencia?????

Saludos..



Respuesta Responder a este mensaje
#2 Gabriel South
19/11/2003 - 04:50 | Informe spam
Interesante... lo voy a probar.

Gracias

"LJG" @omegauto.org> escribió en el mensaje
news:%231YF%
Yo cuando utilizo el multipart lo que hago es recuperar los valores con:

titulo = objUpload.Form("titulo")

en vez del Request y funciona bien.

Espero que te sirva, un saludo.


"Gabriel South" escribió en el mensaje
news:
> Hola!
>
> Tengo una pagina (escribir.asp) con un formulario asi:
>
> <FORM action="tablaclasi.asp" id="form1" name="form1" METHOD="POST"
> ENCTYPE="multipart/form-data">
>
> <input type="text" name="titulo" id="titulo" size="34" maxlength0
> value="<%=titulo%>">
> <input type="file" name="FILE1" id="FILE1" size="38">
> <input id="submit1" name="submit1" value="submit1" type="submit">
>
> </form>
>
> Como veran hay un campo tipo "file", que es donde selecciono una foto


para
> hacer un upload al server
> Tengo el problema de que cuando adiciono el ENCTYPE al formulario, y


hago
el
> submit que lleva a la pagina "tablaclasi.asp", alli hago el
> request.form("titulo"), etc,etc. y oh mi sorpresa cuando veo que no
> llega absolutamente nada!!...
>
> Saco el ENCTYPE y comienza a funcionar correctamente.
>
> Cual es el problema que estoy teniendo???. vi algunos ejemplo de


como
> hacer esto y no hay diferencia con mi pagina, excepto que el archivo


donde
> esta el <FORM ENCTYPE> en vez de ser .ASP son .HTML...


alguna
> sugerencia?????
>
> Saludos..
>
>
>


Respuesta Responder a este mensaje
#3 Gabriel South
19/11/2003 - 05:26 | Informe spam
A que te refieres con "ObjUpload".. que objeto es ese?

Gabriel.


"LJG" @omegauto.org> escreveu na mensagem
news:%231YF%
Yo cuando utilizo el multipart lo que hago es recuperar los valores con:

titulo = objUpload.Form("titulo")

en vez del Request y funciona bien.

Espero que te sirva, un saludo.


"Gabriel South" escribió en el mensaje
news:
> Hola!
>
> Tengo una pagina (escribir.asp) con un formulario asi:
>
> <FORM action="tablaclasi.asp" id="form1" name="form1" METHOD="POST"
> ENCTYPE="multipart/form-data">
>
> <input type="text" name="titulo" id="titulo" size="34" maxlength0
> value="<%=titulo%>">
> <input type="file" name="FILE1" id="FILE1" size="38">
> <input id="submit1" name="submit1" value="submit1" type="submit">
>
> </form>
>
> Como veran hay un campo tipo "file", que es donde selecciono una foto


para
> hacer un upload al server
> Tengo el problema de que cuando adiciono el ENCTYPE al formulario, y


hago
el
> submit que lleva a la pagina "tablaclasi.asp", alli hago el
> request.form("titulo"), etc,etc. y oh mi sorpresa cuando veo que no
> llega absolutamente nada!!...
>
> Saco el ENCTYPE y comienza a funcionar correctamente.
>
> Cual es el problema que estoy teniendo???. vi algunos ejemplo de


como
> hacer esto y no hay diferencia con mi pagina, excepto que el archivo


donde
> esta el <FORM ENCTYPE> en vez de ser .ASP son .HTML...


alguna
> sugerencia?????
>
> Saludos..
>
>
>


Respuesta Responder a este mensaje
#4 Miguel González
19/11/2003 - 09:26 | Informe spam
Hola Gabriel.

Puede que en realidad tengas dos escenarios:

a) Podrás leer el titulo, pero no acceder correctamente al archivo.
b) Podrás acceder correctamente al archivo, pero no podrás leer el título.

La razón tiene que ver con el método "Request" en la página .asp que recibe los datos del formulario. Si haces primero un Request.Form("titulo"), el archivo será inaccesible. Por contra, si lees primero el archivo mediante Request.BinaryRead el titulo será inaccesible mediante el método Request.Form("titulo").

La solucion: Como lo importante es el archivo, deberás utilizar el método Request.BinaryRead:

Request.BinaryRead(Request.TotalBytes)

Despues deberás "capturar" dentro del contenido binario recibido las diferentes partes del formulario identificando los delimitadores, las cabeceras y los datos (incluyendo entre éstos el archivo propiamente dicho).

Como es una tarea algo compleja se han desarrollado diversos componentes en asp que facilitan el trabajo. Entre ellos "aspUpLoad" (busca por el Google). En una posta anterior un compañero te sugeria utilizar "ObjUpload", que no es más que un método de un componente asp que permite subir archivos al servidor. Obviamente, tendrás que instalar en el servidor web el componente. Para obtener mayor información puedes dirigirte al grupo de noticias:

microsoft.public.es.asp


Saludos!
Miguel



"Gabriel South" escribió en el mensaje news:
Hola!

Tengo una pagina (escribir.asp) con un formulario asi:

<FORM action="tablaclasi.asp" id="form1" name="form1" METHOD="POST"
ENCTYPE="multipart/form-data">

<input type="text" name="titulo" id="titulo" size="34" maxlength0
value="<%=titulo%>">
<input type="file" name="FILE1" id="FILE1" size="38">
<input id="submit1" name="submit1" value="submit1" type="submit">

</form>

Como veran hay un campo tipo "file", que es donde selecciono una foto para
hacer un upload al server
Tengo el problema de que cuando adiciono el ENCTYPE al formulario, y hago el
submit que lleva a la pagina "tablaclasi.asp", alli hago el
request.form("titulo"), etc,etc. y oh mi sorpresa cuando veo que no
llega absolutamente nada!!...

Saco el ENCTYPE y comienza a funcionar correctamente.

Cual es el problema que estoy teniendo???. vi algunos ejemplo de como
hacer esto y no hay diferencia con mi pagina, excepto que el archivo donde
esta el <FORM ENCTYPE> en vez de ser .ASP son .HTML... alguna
sugerencia?????

Saludos..



Respuesta Responder a este mensaje
#5 Gabriel South
20/11/2003 - 05:42 | Informe spam
Entendí... usar el componente activex para hacer el upload

Aunque me gustaria ver como es la estructura del paquete para poder
decodificar los datos sin necesidad de nada externo lo voy a
investigar.

Gracias!...


"Miguel González" escreveu na mensagem
news:
Hola Gabriel.

Puede que en realidad tengas dos escenarios:

a) Podrás leer el titulo, pero no acceder correctamente al archivo.
b) Podrás acceder correctamente al archivo, pero no podrás leer el título.

La razón tiene que ver con el método "Request" en la página .asp que recibe
los datos del formulario. Si haces primero un Request.Form("titulo"), el
archivo será inaccesible. Por contra, si lees primero el archivo mediante
Request.BinaryRead el titulo será inaccesible mediante el método
Request.Form("titulo").

La solucion: Como lo importante es el archivo, deberás utilizar el método
Request.BinaryRead:

Request.BinaryRead(Request.TotalBytes)

Despues deberás "capturar" dentro del contenido binario recibido las
diferentes partes del formulario identificando los delimitadores, las
cabeceras y los datos (incluyendo entre éstos el archivo propiamente dicho).

Como es una tarea algo compleja se han desarrollado diversos componentes en
asp que facilitan el trabajo. Entre ellos "aspUpLoad" (busca por el Google).
En una posta anterior un compañero te sugeria utilizar "ObjUpload", que no
es más que un método de un componente asp que permite subir archivos al
servidor. Obviamente, tendrás que instalar en el servidor web el componente.
Para obtener mayor información puedes dirigirte al grupo de noticias:

microsoft.public.es.asp


Saludos!
Miguel



"Gabriel South" escribió en el mensaje
news:
Hola!

Tengo una pagina (escribir.asp) con un formulario asi:

<FORM action="tablaclasi.asp" id="form1" name="form1" METHOD="POST"
ENCTYPE="multipart/form-data">

<input type="text" name="titulo" id="titulo" size="34" maxlength0
value="<%=titulo%>">
<input type="file" name="FILE1" id="FILE1" size="38">
<input id="submit1" name="submit1" value="submit1" type="submit">

</form>

Como veran hay un campo tipo "file", que es donde selecciono una foto para
hacer un upload al server
Tengo el problema de que cuando adiciono el ENCTYPE al formulario, y hago


el
submit que lleva a la pagina "tablaclasi.asp", alli hago el
request.form("titulo"), etc,etc. y oh mi sorpresa cuando veo que no
llega absolutamente nada!!...

Saco el ENCTYPE y comienza a funcionar correctamente.

Cual es el problema que estoy teniendo???. vi algunos ejemplo de como
hacer esto y no hay diferencia con mi pagina, excepto que el archivo donde
esta el <FORM ENCTYPE> en vez de ser .ASP son .HTML... alguna
sugerencia?????

Saludos..



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida