微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Fancybox无法从Chrome中的HttpRespone加载图像

如何解决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,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 ? \' &nbsp; \' + title : \'\') + \'</span>\';
                }
            });
如果我通过href中提供的URL加载图片,则它会在Chrome浏览器中显示,但在fancybox中,它会显示错误上方。 MIME类型设置为image,可以。 该解决方案甚至可以在Firefox,Safari和IE中运行。 请帮忙。     

解决方法

        尝试这个:
var dataLength = data.Length;

Response.Clear();

Response.ContentType = \"correct MIME type\";
Response.AddHeader(\"content-disposition\",string.Format(\"attachment;filename={0}\",name));
Response.AddHeader(\"content-length\",data.Length.ToString());

Response.Buffer = true;

var buffer = new byte[1024];
int bytes;

var outputStream = Response.OutputStream;

using (var stream = data.OpenBinaryStream())
{
     while (dataLength > 0 && (bytes = stream.Read(buffer,buffer.Length)) > 0)
     {
          outputStream.Write(buffer,bytes);
          dataLength -= bytes;
     }
}

Response.Flush();
Response.Close();
Response.End();
其中\“ data \”是包含图像数据的字节数组,\“ name \”是文件名。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。