我正在使用.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);
知道我缺少什么吗?
答案 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的最佳高度/宽度)......但是它可以工作,我没有时间去搞乱它了