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

Una duda

Estas en el tema de Una duda en el foro de ASP Clásico en Foros del Web. Se puede poner dentro del campo de una imagen en la parte del src <img src="" width="100" height="135" alt=""> la sentencia Response.BinaryWrite rs("foto") como dentro ...
  #1 (permalink)  
Antiguo 07/02/2007, 04:18
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Una duda

Se puede poner dentro del campo de una imagen en la parte del src
<img src="" width="100" height="135" alt="">

la sentencia Response.BinaryWrite rs("foto")

como dentro de src se pone una ruta...

Gracias!!
  #2 (permalink)  
Antiguo 07/02/2007, 04:45
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

Solucionado!!!
  #3 (permalink)  
Antiguo 07/02/2007, 07:31
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

Tengo un problemilla a la solución que he encontrado.

La forma de visualizar la imagen es llamando dentro del src a una ventana que visualiza la foto

<img src="mostrar_imagen.asp" alt="" name="FOTO">

dicha ventana lo unico que hace es conectarse a la BD y hacer un:

Response.BinaryWrite rs("foto")

El problema me viene cuando intento modificar la foto. Llamo a una ventana insert.asp que se encarga de guardar dicha foto en mi BD y de seguido me redirecciona a la pantalla principal.

Para que dicha actualización tenga efecto tengo que actualizar la pagina(con un F5).
Como puedo hacer para que cuando me vuelva a la pagina principal, me haga el refresh sin que el usuario tenga que provocarlo manualmente?

Gracias y un saludo.

P.D. si no entendeis bien lo que he explicado, me comentais sin problema.
  #4 (permalink)  
Antiguo 07/02/2007, 09:37
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Una duda

No te he entendido del todo, a ver, ¿el problema es que tienes una página A (que muestra la foto) y que al momento de hacer un submit (para hacer el insert) en la página B (que hace el insert) esta hace un redirec a la página A y no se visualiza el cambio? ¿que cambio?

No te he entendido. Pero me suena a algo del caché. Prueba colocar este código:

Cita:
<%
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
%>
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
Ahora, si te pudieras explicar de nuez, pues de agradecería mucho
  #5 (permalink)  
Antiguo 07/02/2007, 09:58
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

Te comento:
Tengo una pagina A donde se muestra una foto y donde se puede tb actualizar dicha foto mediante un campo de archivo.
Mediante un boton me va a una pagina B, que me guarda la foto seleccionada (en el campo de archivo) en la BD. Esta misma pagina B, despues de guardar la foto en la BD, me redirecciona otra vez a la pagina A y lo que quiero es que se me vea el cambio en la foto.

Yo como lo tengo:
en la pagina A, un boton submit q va a la pagina B(insertar foto en BD)
en la parte de la foto
<img src="mostrar_foto.asp" alt="" name="FOTO">

y mostrar_foto.asp lo unico que hace es conectarse a la BD y mostrar la foto en la pagina A con Response.BinaryWrite rs("foto")

el problema es que tengo que hacer un F5 para que se ejecute mostrar_foto.asp y me visualize el cambio de foto

Un saludo.
  #6 (permalink)  
Antiguo 07/02/2007, 10:15
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Una duda

Como dijo Myakire, puede ser un problema de cache, solo una duda: La redirección la estás haciendo en el servidor verdad?

Otra cosa, como estás recuperando esta foto, no veo ningún id, creo que sería mejor si pusieras algo de código.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 07/02/2007, 11:46
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

pongo el codigo:

mostrar_foto.asp
*******************************
<%
Response.Buffer = True

' Login del fichero a obtener
login=session("login")

' Cadena de conexion
Dim connStr
Set connStr = Server.CreateObject("ADODB.Connection")
connStr.Open "Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;Port=3306;Database=xxx;Ui d=xxx;Pwd=xxx;Option=3;"

' Recordset
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")

' abrimos la conexion
sql= "select * from ficheros where login='"&login&"'"
set rs=connStr.execute(sql)

Response.BinaryWrite rs("foto")

rs.Close
Set rs = Nothing
%>
**********************************

insert.asp
**********************************
(aqui va la parte del codigo que he sacado del uploader)

If fileSize > 0 Then

Dim connStr
Set connStr = Server.CreateObject("ADODB.Connection")
connStr.Open "Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;Port=3306;Database=xxx;Ui d=xxx;Pwd=xxx;Option=3;"


' Recordset
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")

login=session("login")
rs.Open "ficheros", connStr, 2, 2

' Insertando datos
rs.AddNew
rs("login") = login
rs("foto").AppendChunk fileData
rs("nombre")=fileName
rs.Update
%>
<script language="VBScript">
msgbox "¡¡ATENCIÓN!!.La foto ha sido introducida"
document.location.href="principal.asp"
</script>
<%Else%>
<script language="VBScript">
resultado = MSGBOX ("¡¡ERROR!!No has seleccionado ninguna foto", VBCRITICAL, "SUBIR IMAGEN")
document.location.href="principal.asp"
</script>
<%End If
**********************************

y el codigo de la pagina principal es:

<form name="form1" enctype="multipart/form-data" method="post" action="insert.asp">
<p><img name="foto" src="mostrar_imagen.asp" width="100" height="100" alt=""></p>
<p>
<input type="file" name="file">
</p>
<p>
<input type="submit" name="enviar" value="Enviar">
</p>
</form>

espero q entiendas el codigo...y gracias x todo!!!
  #8 (permalink)  
Antiguo 07/02/2007, 11:49
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Una duda

Eso. No sea que tu "redireccion" lo hagas con el history.back()
  #9 (permalink)  
Antiguo 07/02/2007, 12:08
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Una duda

document.location.href="principal.asp"

Redirección client side, utiliza por favor redirección en el servidor.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 07/02/2007, 12:27
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

redireccionando contra el servidor tp va.

se podria hacer un onload en el body d la pagina principal que llamase a mostrar_foto.asp o en su defecto ese codigo(el de mostrar_foto) ponerlo como una funcion en la principal?

...
  #11 (permalink)  
Antiguo 07/02/2007, 12:38
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Re: Una duda

Cita:
Iniciado por baditxuk Ver Mensaje
redireccionando contra el servidor tp va....
Eso quiere decir que funciona o que no funciona?

Cita:
se podria hacer un onload en el body d la pagina principal que llamase a mostrar_foto.asp o en su defecto ese codigo(el de mostrar_foto) ponerlo como una funcion en la principal?
Se pueden hacer muchas cosas, lo importante es saber que es lo que está causando que no funcione...ya sea caché o una redirección o un error de script, más que buscar una solución lo primero es buscar el problema.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #12 (permalink)  
Antiguo 07/02/2007, 12:50
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

no funciona redireccionando en el servidor.
me imagino q el error estara en:

<img name="foto" src="mostrar_imagen.asp" width="100" height="100">

y que al redireccionar no ejecuta el mostrar_imagen.asp
  #13 (permalink)  
Antiguo 07/02/2007, 12:53
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Re: Una duda

no lo ejecuta porque hay problemas de cache (seguro)
¿y si pone algo así como...

Código:
<img name="foto" src="mostrar_imagen.asp?aleatorio=<% = UnNumeroAleatorio %>" width="100" height="100">
... evitará el caché?
__________________
...___...
  #14 (permalink)  
Antiguo 07/02/2007, 13:16
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

Código:
<img name="foto" src="mostrar_imagen.asp?aleatorio=<% = UnNumeroAleatorio %>" width="100" height="100">
poner esto tal cual dices?
  #15 (permalink)  
Antiguo 08/02/2007, 02:56
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

Alguna ayudita please!!!!!
o alguna alternativa para que funcione...
  #16 (permalink)  
Antiguo 08/02/2007, 07:40
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Una duda

Primero, ¿ya pusiste las lines de código que te recomendé?

Lo que quieres hacer es trivial, a todos nos ha pasado alguna vez y con eso se soluciona. Pon las lineas del caché en ASP en la página que genera el gráfico y los meta html donde esta la etiqueta IMG
  #17 (permalink)  
Antiguo 08/02/2007, 09:28
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

Si que las puse pero en el sitio equivocado.
Ahora las he puesto segun mas indicado y ya funciona.

Muchas gracias!!!

Una cosilla please.

Cuando subo la imagen a la BD uso este codigo de abajo(parte de él)

***********************************
Set load = new Uploader

' inicializando el objeto
load.initialize

' Datos binarios del fichero
Dim fileData
fileData = load.getFileData("file")
' Nombre del fichero
Dim fileName
fileName = LCase(load.getFileName("file"))
...
...
...
************************************
luego con las vlbs(filedata,filename,...) pues hago un addnew y lo subo a la BD.
Todo esto se hace mediante un submit que viene de la pagina principal.
La pregunta es si en vez de un submit lo quiero hacer mediante un button.
como se recuperaría el filedata y demas?

Gracias!!(se que me explico bastante mal )
  #18 (permalink)  
Antiguo 08/02/2007, 11:15
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Una duda

Cita:
La pregunta es si en vez de un submit lo quiero hacer mediante un button.
mmmmm, un "submit" es un botón..... ¿o a que te refieres? ¿a hacer algo entra en el evento onClick?, jejeje, bueno, ¿podrías explicarte mejor?
  #19 (permalink)  
Antiguo 08/02/2007, 12:02
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

perdon...
Tengo una pagina con un campo de archivo y un boton(submit) dentro de un formulario que me envia el file y recojo los datos como te he indicado antes y subo la imagen a la BD:

Set load = new Uploader

' inicializando el objeto
load.initialize

' Datos binarios del fichero
Dim fileData
fileData = load.getFileData("file")
' Nombre del fichero
Dim fileName
fileName = LCase(load.getFileName("file"))
...
...

esto me funciona bien

Lo que quiero es modificar el boton y ponerlo como button y mandarlo como onclick. Queria saber como se recoge el file para subir el archivo a la BD

Gracias!!
  #20 (permalink)  
Antiguo 08/02/2007, 16:13
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Una duda

Quedé igual, jejeje

¿Qué quieres modificarle al botón? ¿quienes que en vez de ser un <input type="submit" ...> sea un <button>...</button>?, si es esto último pues no hay que modificar nada, solo agrega un onClick="document.NomFormulario.submit()"
  #21 (permalink)  
Antiguo 09/02/2007, 02:31
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

me referia a que al ponerlo como un boton <button>...</button>
el onclick seria:
onClick="vbscript:document.location.href=B.asp'"

ya que me tiene que redirigir a una pagina distinta a la que manda el boton submit.
Por eso te comenté que como recuperaría el file.

Un saludo
  #22 (permalink)  
Antiguo 09/02/2007, 07:48
 
Fecha de Ingreso: enero-2007
Mensajes: 284
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Una duda

De todas maneras si lo hago como te digo me da problemas el enctype="multipart/form-data"
(tengo puesto este problema como una nueva entrada en este foro).

Voy a poner en la misma pagina dos form distintos, uno para enviar los datos y el otro para subir la imagen(con enctype="multipart/form-data") y asi me quito de problemas.

Muchas gracias x tu colaboración.

Una cosilla, como se hace para votar a la gente que te ayuda o algo por el estilo?
  #23 (permalink)  
Antiguo 09/02/2007, 09:35
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Una duda

Para expresar tu desacurdo o conformidad sobre algún mensaje de algún usuario, es mediante la báscula que todos tenemos entre el número del post y el ícono para reportar mensajes.

Sobre el hecho de usar dos formularios, pues debo decirte que encontraste la única alternativa, bueno, esa y la de instalar un componente en el cliente, claro.

Saludos
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 20:45.