Fancybox 无法在 Chrome 中从 HttpRespone 加载图像
我在 Google Chrome 中使用 fancybox 时遇到问题。当我点击我的链接时,它显示:
无法加载请求的内容。 请稍后重试。
我的网站采用 ASP.NET。这是我在网站上链接的代码:
<a rel="example_group" id="aRel" runat="server" href='<%# Eval("ElevatedLink") %>'
title='<%# Eval("LongDesc") %>'>
</a>
链接到我的图像是 aspx 文件,它将图像写入输出缓冲区,如下所示:
byte[] buffer = Common.GetBinaryData(list, iFolder, iMovId);
if (buffer == null || buffer.Length == 0)
return;
Response.Clear();
Response.ContentType = GetMimeType(name, elevatedWeb);
Response.BufferOutput = true;
Response.OutputStream.Write(buffer, 0, buffer.Length);
Response.Flush();
Response.Close();
我的 fancybox 声明:
$(document).ready(function () {
$("a[rel=example_group]").fancybox({
'transitionIn': 'none',
'transitionOut': 'none',
'titlePosition': 'over',
'showNavArrows': 'true',
'titleFormat': function (title, currentArray, currentIndex, currentOpts) {
return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' ' + title : '') + '</span>';
}
});
如果我通过 href 中提供的 URL 加载图像,它会显示在 Chrome 浏览器中,但在fancybox 它显示上面的错误。 MIME类型设置为image,就可以了。 该解决方案适用于 Firefox、Safari 甚至 IE。
请帮忙。
I have problem with fancybox in Google Chrome. When I click on my link it shows:
The requested content cannot be loaded.
Please try again later.
My site is in ASP.NET. This is the code for my link on site:
<a rel="example_group" id="aRel" runat="server" href='<%# Eval("ElevatedLink") %>'
title='<%# Eval("LongDesc") %>'>
</a>
Link to my image is aspx file which writes image to the output buffer, something like this:
byte[] buffer = Common.GetBinaryData(list, iFolder, iMovId);
if (buffer == null || buffer.Length == 0)
return;
Response.Clear();
Response.ContentType = GetMimeType(name, elevatedWeb);
Response.BufferOutput = true;
Response.OutputStream.Write(buffer, 0, buffer.Length);
Response.Flush();
Response.Close();
My fancybox declaration:
$(document).ready(function () {
$("a[rel=example_group]").fancybox({
'transitionIn': 'none',
'transitionOut': 'none',
'titlePosition': 'over',
'showNavArrows': 'true',
'titleFormat': function (title, currentArray, currentIndex, currentOpts) {
return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' ' + title : '') + '</span>';
}
});
If I load image by URL provided in href it's shows in Chrome browser, but in fancybox it's show above error. MIME type is set to image, it's ok.
This solution works in Firefox, Safari even in IE.
Please help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个:
其中“data”是包含图像数据的字节数组,“name”是文件名。
Try this:
Where "data" is byte array containing image data and "name" is file name.