Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/07/2009, 08:06
Avatar de dwaks
dwaks
 
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 9 meses
Puntos: 15
Respuesta: Problema con Thumbnails

Veamos vamos paso a paso:
1- Cuando creas una página tumb.aspx es para que exclusivamente te devuelva una imágen no código html, así que de el código aspx puedes remover todo el contenido menos la primera líena que define la clase base.
2- En el Load de esa página aspx es donde tu generas el tumbnail y cuando lo devuelves con Response.BinaryWrite primero debiste definir que el contenido que esa página mostrara será algun tipo de imagen: Response.ContentType = "image/jpeg";

Al final esa página lo que procese lo devuelve como imagen siempre porque el ContentType así lo dice, te dejo un ejemplo de mi sistema de tumb con este codigo de el evento Load de la página, solo para que veas a que me refiero:

protected void Page_Load(object sender, EventArgs e)
{
string file = Request.QueryString["file"];
string size = Request.QueryString["size"];

System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(file) );
string[] sizes = ImgSize(image, Convert.ToInt32(size));
System.Drawing.Image thumbnailImage = image.GetThumbnailImage(Convert.ToInt32(sizes[0]), Convert.ToInt32(sizes[1]), new System.Drawing.Image.GetThumbnailImageAbort(Thumbn ailCallback), IntPtr.Zero);

MemoryStream imageStream = new MemoryStream();

thumbnailImage.Save(imageStream, System.Drawing.Imaging.ImageFormat.Png);
byte[] imageContent = new Byte[imageStream.Length];

imageStream.Position = 0;
imageStream.Read(imageContent, 0, (int)imageStream.Length);

Response.ContentType = "image/jpeg";
Response.BinaryWrite(imageContent);
}

Y el código que tiene la misma página aspx solo seria esto:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Tumb.aspx.cs" Inherits="Tumb" %>

Saludos,