【问题标题】:colorbox problem when reading image from database从数据库读取图像时出现颜色框问题
【发布时间】:2011-04-16 18:14:54
【问题描述】:

我正在使用 asp.net mvc 开发一个项目。我将图像作为字节数组保存到数据库中。 在我使用彩盒之前,一切都正常工作。

我尝试使用颜色框来显示一组产品图像。当我点击按钮时,我得到了奇怪的结果。我期待图像,但它收集了大量的奇怪符号,如下所示。

>`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C: C.DDGD.D.EEUE.E.F"FgF.F.G5G{G.HHKH.H.IIcI.I.J7J}J.KKSK.K.L*LrL.MMJM.M.N%NnN. OOIO.O.P'PqP.QQPQ.Q.R1R|R.SS_S.S.TBT.T.U(UuU.VV\V.V.WDW.W.X/X}X.YYiY.ZZVZ.Z. [E[�[�\5\�

我确信它可以正常工作,包括颜色框。当 colorbox 尝试从数据库中获取图像时会出现问题。有任何想法吗?

提前致谢

public FileContentResult Index(int id)
    {
        var media = _entities.Images.AsQueryable()
            .Where(e => e.Id == id)
            .Select(e => e).FirstOrDefault();
        return File(media.ImageData, media.ImageMimeType);
    }

这是我得到图像的地方。

http://localhost:2632/assets/index/105

这是 url 的模式。用于获取图像。

$("a[rel=" + "'" + 48 + "']").colorbox({ transition: "fade", title: true, current: true });

这就是我所说的颜色框。

<a style=" display:none;" rel="48" href="assets/index/107">asd</a>

这就是我将元素嵌入页面的方式。

【问题讨论】:

  • 你能贴一些相关的代码吗?

标签: asp.net-mvc colorbox


【解决方案1】:

Problem while working with Jquery colorbox and dynamic images that reading via Aspx提供解决方案

使用 colorbox 的 photo 属性。 示例:

$('a.example').colorbox({photo:true});

原因是 colorbox 的正则表达式 自动检测图像 URL 将 那种 URL 失败(不 包含图像类型扩展名)。

【讨论】:

  • 这对我帮助很大。我遇到过同样的问题。这不是特定于语言的。当从 db 或通过数据 uri 拉取图像时,它将作为数据返回并且不会渲染照片,除非您使用此设置。
  • Fancybox 也有同样的问题。使用 $("a[rel=photos]").fancybox({type:image});
【解决方案2】:

您发布的奇怪符号是因为字节被解释为文本,它们不会都是有效/可打印的字符。这不一定是个问题。

当您发送请求 (http://localhost:2632/assets/index/105) 时会发生什么?浏览器显示什么?

数据库中的字段是什么数据类型?确保您没有使用文本字段,因为这肯定会搞砸。可能值得复制/粘贴您保存到数据库的字节以及您要返回的字节并检查它们是否相同。如果不是,那么很可能是数据库中有问题(例如字段类型)。

【讨论】:

  • localhost:2632/assets/index/105 这将返回我想看到的图像。顺便说一句,jquery 灯箱工作没有任何问题。但其他都是问题。
  • 我有点困惑。如果 url 正确加载图片,您在哪里没有看到图片,但期望看到?
  • 彩盒未加载图像。是的,这是真的,它很奇怪。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多