使用Jquery颜色框和通过Aspx读取的动态图像时出现问题
为了在我的网站上显示完整尺寸的图像,我决定使用Jquery.colorbox,这种插件适用于静态图像位置,如:
但是当我想从使用二进制读/写的directiry中获取图像时,这个插件显示垃圾数据而不是编译的jpg /图像,如下所示:
这是我获取动态图像的代码段:
thumbLocation = DataHelper.GetItemPicture(recordID); using (FileStream IMG = new FileStream(thumbLocation, FileMode.Open)) { //FileStream IMG = new FileStream(thumbLocation, FileMode.Open); byte[] buffer = new byte[IMG.Length]; IMG.Read(buffer, 0, (int)IMG.Length); Response.Clear(); Response.ContentType = "image/JPEG"; Response.AddHeader("Content-Length", buffer.Length.ToString()); Response.BinaryWrite(buffer); Response.End();}
我该如何解决这个问题?
使用colorbox的照片属性。 例:
$( ‘a.example’)颜色框({照片:真});
原因是colorbox用于自动检测图像URL的正则表达式对于那种URL(不包含图像类型扩展名)将失败。
一些想法
-
将内容类型更改为
"image/jpeg"
(上限可能很重要) -
将以下内容添加到url
&thisisan.jpg
(如果某些浏览器在URL的末尾没有看到此图像,则不会创建图像) -
通过将图像URL直接放入浏览器进行测试。