如何从数据库上传图片进行查看 [英] how to upload picture from database to view
本文介绍了如何从数据库上传图片进行查看的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在数据库中保存了一张照片,将其转换为二进制文件如何在视图中检索并显示它
解决方案
访问以下链接以获得答案。 />
http://www.nullskull.com/a/10450951/aspnet-mvc-display-images-directly-from-the-viewmodel-into-your-views.aspx
< a href =http://stackoverflow.com/questions/17952514/mvc-how-to-display-a-byte-array-image-from-model> http://stackoverflow.com/questions/17952514/mvc -how-to-display-a-byte-array-image-from-model
http://www.sullivansoftdev.com/blog/2012/11/09/displaying-database-stored -images-in-asp-net-mvc-with-data-urls /
使用以下代码
SqlConnection c onn = new SqlConnection();
conn.ConnectionString = @ 数据源= .\SQLEXPRESS;数据库= LINQ_TestDB;用户ID = sa ;密码= Sa123;跨度>;
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = readImageData;
cmd.CommandType = CommandType.StoredProcedure;
SqlDataReader reader = cmd.ExecuteReader();
列表< ImageData> lstImageData = new List< ImageData>();
while (reader.Read())
{
ImageData imd = new ImageData();
imd.FileName = reader [ 1 ]。ToString();
byte [] mybyte =( byte [])阅读器[ 2 跨度>];
imd.ImagePath = data:application / jpeg; base64, + Convert.ToBase64String (mybyte);
lstImageData.Add(imd);
}
return 查看(lstImageData);
并查看:
@ using(Html.BeginForm(ImageUpload,Image,FormMethod。发布,新{enctype =multipart / form-data}))
{
Html.Label(选择图像:);
< 输入 < span class =code-attribute> type = file 名称 = my_image / >
< 输入 type = 提交 name = submit value = 上传 / >
}
@foreach(模型中的ImageData imd)
{
< h3 > @ imd.FileName < / h3 >
< img src = @ imd.ImagePath < span class =code-attribute>宽度 = 200 height = 250 / >
}
型号等级
<前lang = C#> public class ImageData
{
public int ID { get ; set ; }
public string FileName { get 跨度>; set ; }
public byte [] FileByte { get 跨度>; set ; }
public string ImagePath { get 跨度>; set ; }
}
我猜你的列类型是varbinary(MAX)
i have saved a photo in database converting it to binary how can i retrieve and show it in view
解决方案
Visit following links to get the answer.
http://www.nullskull.com/a/10450951/aspnet-mvc-display-images-directly-from-the-viewmodel-into-your-views.aspx
http://stackoverflow.com/questions/17952514/mvc-how-to-display-a-byte-array-image-from-model
http://www.sullivansoftdev.com/blog/2012/11/09/displaying-database-stored-images-in-asp-net-mvc-with-data-urls/
Use following codes
SqlConnection conn = new SqlConnection(); conn.ConnectionString = @"Data Source=.\SQLEXPRESS;Database=LINQ_TestDB;User Id=sa;Password=Sa123;"; conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "readImageData"; cmd.CommandType = CommandType.StoredProcedure; SqlDataReader reader= cmd.ExecuteReader(); List<ImageData> lstImageData=new List<ImageData>(); while (reader.Read()) { ImageData imd=new ImageData(); imd.FileName=reader[1].ToString(); byte[] mybyte = (byte[])reader[2]; imd.ImagePath ="data:application/jpeg;base64," +Convert.ToBase64String(mybyte); lstImageData.Add(imd); } return View(lstImageData);
And View:
@using (Html.BeginForm("ImageUpload", "Image", FormMethod.Post, new { enctype = "multipart/form-data" })) { Html.Label("Select Image:"); <input type="file" name="my_image"/> <input type="submit" name="submit" value="Upload" /> } @foreach (ImageData imd in Model) { <h3>@imd.FileName</h3> <img src="@imd.ImagePath" Width="200" height="250" /> }
Model Class
public class ImageData { public int ID { get; set; } public string FileName { get; set; } public byte[] FileByte { get; set; } public string ImagePath { get; set; } }
I Guess your column type is varbinary(MAX)
这篇关于如何从数据库上传图片进行查看的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文