从数据库中读取图像时的颜色框问题

时间:2011-04-16 18:14:55

标签: asp.net-mvc colorbox

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

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

< < =“= a = = >>`> > ?!?a? ? @#@ d @ @ A)AjA A B0BrBBC:C} CDDGDDEEUEEF“FgFFG5G {} GHHKHHIIcIIJ7J * JKKSKKL LrLMMJM MN%NnNOOIOOP'PqPQQPQQR1R | RSS_SSTBTTU(UuUVV \ VVWDWWX / X} X YYiYZZVZZ [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>

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

2 个答案:

答案 0 :(得分:13)

Problem while working with Jquery colorbox and dynamic images that reading via Aspx

提供解决方案
  

使用colorbox的照片属性。   例如:

     

$( 'a.example')颜色框(的 {照片:真} );

     

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

答案 1 :(得分:0)

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

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

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