C# 通过asp.net使用linQ从数据库检索图像
我想使用C# 通过asp.net使用linQ从数据库检索图像,c#,asp.net,linq,C#,Asp.net,Linq,我想使用asp.net和linq 我想在用户进入页面时创建一个页面,他会看到一个图像 Professor_Dim prof = sdc.Professor_Dims.SingleOrDefault(x => x.P_ID == 0); if (FileUpload1.HasFile && FileUpload1.PostedFile.ContentLength > 0) { string fileName = FileUpload1.FileName; by
asp.net
和linq
我想在用户进入页面时创建一个页面,他会看到一个图像
Professor_Dim prof = sdc.Professor_Dims.SingleOrDefault(x => x.P_ID == 0);
if (FileUpload1.HasFile && FileUpload1.PostedFile.ContentLength > 0) {
string fileName = FileUpload1.FileName;
byte[] fileByte = FileUpload1.FileBytes;
Binary binaryObj = new Binary(fileByte);
prof.P_Image = binaryObj;
sdc.SubmitChanges();
}
此代码将图像上载到数据库我想在另一个页面中检索该图像 我做的有点不同。我将byteData原样存储在数据库中,然后执行以下操作:
Bitmap bmp;
byte[] img = //retrieve bytes from DB
if (img == null)
return new EmptyResult();
using (MemoryStream ms = new MemoryStream(img))
{
bmp = new Bitmap(Image.FromStream(ms));
}
如果您使用的是ASP MVC,则可以返回一个ImageResult,将bmp作为图像放置,并使用ImageFormat.Jpeg作为示例 ASP.NET
byte[] bytes = //retrieve the Image bytes from the database;
string base64String = Convert.ToBase64String(bytes, 0, bytes.Length);
Image1.ImageUrl = "data:image/jpeg;base64," + base64String;
如果您使用的是ASP MVC,您可以将其置于控制器的操作中,该控制器将显示页面或从该页面加载的get让我详细说明一下。。如果您使用的是ASP MVC,您可以创建一个单独的操作来检索图像,然后执行如下操作:
在这种情况下,您需要返回一个ImageResult。然后我建议:byte[]bytes=//retrieve imagebytes from DB string base64String=Convert.ToBase64String(bytes,0,bytes.Length);Image1.ImageUrl=“数据:图像/jpeg;base64,”+base64String代码>您可以在要显示图像的页面上执行此操作。请确保上载的图像是jpeg格式,否则需要调整扩展名。您的图像称为Image1: