11

我有一个流 jpeg 的 aspx 页面。它设置内容类型,然后写入响应流。如果我直接查看图像,它们会很有效,但是如果我使用 fancybox 1.2.6,我会得到以下结果。 替代文字

使用 fancybox 1.2.1 图像确实显示。

这是推出图像的代码。

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            using (Stream responseStream = response.GetResponseStream())
            {
                using (Image outImg = Image.FromStream(responseStream))
                {
                    Response.Clear();
                    Response.ContentType = "image/jpeg";
                    outImg.Save(Response.OutputStream, ImageFormat.Jpeg);
                }
            }
        }

有什么帮助吗?

4

4 回答 4

15

我们的图像也没有扩展,只是从 ashx 处理程序发出的。

我们最终将 'type':'image' 添加到 fancybox 声明中,例如:

$('.fb1').fancybox({'titlePosition':'inside','type':'image'})

效果很好。

于 2010-12-22T21:35:53.940 回答
2

请参阅Fancybox 常见问题解答中的第 6 点:

FancyBox 从 url 猜测内容类型,但有时它可能是错误的。解决方案是强制你的类型,就像这样 - $(".selector").fancybox({'type' : 'image'});

(需要 1.3+ 版本)

于 2013-09-24T12:42:08.680 回答
1

fancybox 脚本文件中有一个正则表达式,需要对其进行修改,以便正确处理该文件扩展名。

imageRegExp = /\.(aspx|jpg|gif|png|bmp|jpeg)(.*)?$/i;

我现在刚刚添加了 aspx,但需要做一些额外的工作才能使其正常运行。

于 2010-01-19T08:55:02.410 回答
0

我们可以看到您发布内容的服务器端代码吗?似乎内容类型设置不正确或在您输出数据之前设置。您可能想在输出新的内容类型之前尝试 Response.Clear()。(您的浏览器可能会在直接打开时假定内容类型)

于 2010-01-18T20:15:45.120 回答