使用C#将BLOB转换为Jpg

4
我正在开发一个Web应用程序,从现场数据库接收数据。数据库开发人员开发了一些Web服务,我可以调用这些服务并发送/接收数据到和从数据库。
当我想要显示图像时,该方法以BLOB格式返回图像。我的问题是:将BLOB转换为.jpg或.bmp的最佳方法是什么,以便我可以正确地显示图像?如果有人能指点我正确的方向,那就太好了!
谢谢, Tristan

它是否像byte[]数组一样是BLOB,并且您想将图像提供给浏览器? - Mikael Svenson
是的,没错。我的经验在这方面相当有限。 - TGuimond
1
参考此问题/答案 - http://stackoverflow.com/questions/2506536/ajax-slide-show-get-images-from-database/2506618#2506618。它使用协议处理程序提供图像。您也可以从.aspx页面执行此操作,但在我看来,协议处理程序更加清晰。 - Mikael Svenson
谢谢,我正在查看所有的选项。感谢大家的帮助! - TGuimond
3个回答

3
您可以创建一个通用处理程序(ashx文件),并让它返回字节数组。
例如,urlhttp://www.example.com/GetImage.ashx?imageId=1可以包含从id为1的图像接收到的字节的代码。
您需要自己实现处理程序代码来执行数据库查询等操作,并将字节写入响应中。您还需要将响应MIME类型设置为jpg、png或其他格式的图像。
请查看此stackoverflow帖子以获取更多详细信息:如何将MemoryStream绑定到asp:image控件?

0

BLOB 没有与之相关联的图像格式。它只是一种将原始二进制数据存储在数据库中的方式。您需要确定它实际上是哪种格式(libmagic 可能会有所帮助),然后如果需要,可以进行转换。


0

byte[] 数组和 mimetype 是关键词 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接