0

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

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

它工作正常...图像显示在页面上。但是当我在Thickbox中使用相同的链接作为目标时......我得到了这个:

替代文字 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);

知道我错过了什么吗?

4

2 回答 2

1

http://drupal.org/node/140371

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

看起来与您遇到的问题相同。

于 2009-07-29T18:36:45.433 回答
0

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

于 2009-07-29T18:22:38.713 回答