Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/03/2007, 01:43
tammander
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 19 años, 3 meses
Puntos: 7
Re: Mostrar una imagen de access en asp

En la página llamada (la que yo llamo paginaaspparaimagenes.asp) no debe haber nada. Es decir, es mejor crearla con el block de notas ya que no te mete ningun texto de forma predeterminada (como el dreamweaver).

Solo esto:

(los tag de apertura y cierre)

<%
' Abrimos el buffer

response.Buffer = True

' Limpiamos cualquier cabaecera que pueda haber

response.Clear

' Hacemos las transacciones que sean necesarias

dim id
id = request("id")
if id <> "" then
Set rs = Server.CreateObject("adodb.recordset")
strSQL = "select FileData,ContentTyped from fotos where id = " & id
rs.Open strSQL, MM_fotos_STRING

' Fijate que todavia no he mandado nada a la pantalla
' Es ahora cuando defino el content-type de la página
' Lo defino desde la BD porque guardo tanto imagenes
' como ejecutables, psds y demas. O sea, archivos binarios
' con sus respectivos content-type. No es necesario
' que sean imagenes. Al navegador le da igual :D
' si solo vas a usar un tipo (jpg) lo puedes poner
' directamente:
' response.ContentType = "image/JPEG"
' (mas info: http://www.topxml.com/asp/response_o...ontenttype.asp)

response.contentType = rs("ContentTyped")

' Ahora envio el output:

response.BinaryWrite(rs("FileData"))

' Ahora solo queda cerrar el recordset y la conexion

rs.close()
end if

' Y descargamos todo lo que haya en el buffer.
' Es aqui donde realmente el ASP "pinta" el contenido

response.End()

%>

Y ya esta. Hemos creado una imagen "en modo texto"

NOTA: No uso el Flush() porque este método sigue dejando abierto el documento. End() descarga el buffer y cierra la página con lo que haya.

Un saludo y Viva San Viernes!!!!!!!!
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -

Última edición por tammander; 30/03/2007 a las 02:39 Razón: especificar la nota