我正在从SQL Server检索二进制图像,并希望将此二进制图像从exportXLS
控件传递到另一个页面并通过使用GridView
控件进行显示。最好的方法是什么?
我尝试使用Image
(编码和解码),并且说URL太长。
答案 0 :(得分:0)
我的建议如下:
1.从细节上看,您的图像似乎存储为数据库表中的Blob(二进制数据)。
2.您无需获取blob(binarydata)并将其传递给下一页,而只需将数据库ID传递给下一页。
3.在下一页上,向.NET服务器端代码发出AJAX请求(您可以将其置于页面加载中),然后根据从上一页接收到的数据库ID来获取Blob。
4.然后显示此图像,并使用ajax请求的javascript成功回调将其加载到HTML div
或img
标签中。
顺便提一下,建议始终将映像存储在文件系统上。如果您可以重构服务器端代码以将图像存储在目录结构中,那将是理想的选择。您的代码库可能需要进行很多更改。
如果图像不是太大-您可以使用我建议的解决方案继续使用现有方法。通常,在数据库表中拥有较大的二进制数据-从长远来看可能会使查询变慢。
您可能需要检查如何设置以图像形式获取的二进制数据并将其设置为html。请查看此链接以获取详细信息:Is it possible to put binary image data into html markup and then get the image displayed as usual in any browser?