带有.ASHX图像处理程序的jQuery Thickbox - 显示垃圾

时间:2009-07-26 15:24:18

标签: asp.net jquery thickbox

我正在使用.ASHX处理程序从我的ASP.NET应用程序返回图像。当我使用浏览器直接点击URL时(例子):

  http://localhost/myapp/GetImage.ashx?key=12

它运行正常...图像显示在页面上。但是当我在Thickbox中使用相同的链接作为目标时......我明白了:

alt text http://franceschina.net/temp/thickbox.png

ASHX的蒸馏版代码:


   byte[] img = (byte[])pp.PRODUCT_PHOTO1.ToArray();
   context.Response.ContentType = "image/JPEG";
   context.Response.OutputStream.Write(img, 0, img.Length);

知道我缺少什么吗?

2 个答案:

答案 0 :(得分:1)

http://drupal.org/node/140371

在Thickbox模块中,主* .js文件,thickbox.js不考虑在drupal中创建的图像网址,例如via / image / view / 2321 / preview而不是/image.jpg(或* gif或* png)。如果thickbox.js在链接锚标记([a href ...]标记)中没有看到文件名本身(gif,jpg,png,jpeg),它会将图像视为另一个不是的mime类型图片。这会导致Thickbox在页面顶部吐出可怕的垃圾而不是酷炫的影子盒(灯箱)效果。

看起来你遇到了同样的问题。

答案 1 :(得分:0)

我最后使用ThickBox的iframe选项将图像加载到另一个页面。我不喜欢这个解决方案(它需要一个单独的页面和额外的代码来确定iFrame的最佳高度/宽度)......但是它可以工作,我没有时间去搞乱它了