如何从数据库上传图片进行查看 [英] how to upload picture from database to view

查看:140
本文介绍了如何从数据库上传图片进行查看的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在数据库中保存了一张照片,将其转换为二进制文件如何在视图中检索并显示它

解决方案

访问以下链接以获得答案。 />
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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆