我使用sql server 2008的文件流来存储图像。我想要检索该图像并绑定到图像控件。但是没有获得正确的路径。 请帮忙。
答案 0 :(得分:0)
你可以写一个页面:
Response.ContentType
Response.BinaryWrite
或类似的通过阅读本文,您可以获得某些关键点的信息:Creating Thumbnail Images on the fly with ASP.Net
编辑:这里有一些专门针对FILESTREAM的例子:
答案 1 :(得分:0)
我认为文件流列类型与二进制列非常相似,但SQL Server将其存储在文件系统而不是实际的SQL数据库文件中。在任何情况下,您都需要使用某种中间组件来读取二进制数据并将内容作为响应输出。
执行此操作的一种方法是使用HTTPHandler,您可以使用一些数据来识别要提取的记录:
public void ProcessRequest (HttpContext context) {
// Add some sort of validation if need be
var id = context.Request.QueryString["ImageID"]))
// Pull your data here based on that information
var dataObject = GetDataObject(id);
context.Response.ContentType = "image/png"; // or the applicable mime content type
context.Response.BinaryWrite((byte[])dataObject[0]["ImageFile"]);
}
这是一个简短的示例,您需要确保自己有逻辑来提取DataTable或DataReader等。此示例假定您有一个DataTable。使用阅读器,您需要添加逻辑来读取行。
你最终会像这样调用图像:
<img src="/imagehandler.ashx?ImageID=345" alt="" />
约什