2017-05-30 97 views
0

海兰主人,我有一些问题,当我转换图片varbinary(MAX) 我有这样转换VARBINARY要上传图片MVC asp.net

Create Procedure SelectBarang 
as  
Begin  
    Select * from Barang;  
End 

一个过程,我有类模型这样

public class ShopDB 
{ 
    string cs = ConfigurationManager.ConnectionStrings["ShopEntities"].ConnectionString; 

    public List<Barang> ListAll() 
    { 
     List<Barang> lst = new List<Barang>(); 
     SqlConnection con = new SqlConnection(cs); 
     //using(SqlConnection con=new SqlConnection(cs)) 
     { 
      con.Open(); 
      SqlCommand com = new SqlCommand("SelectBarang", con); 
      com.CommandType = CommandType.StoredProcedure; 
      SqlDataReader rdr = com.ExecuteReader(); 
      while (rdr.Read()) 
      { 
       lst.Add(new Barang 
       { 
        IdBarang = Convert.ToInt32(rdr["IdBarang"]), 
        NamaBarang = rdr["NamaBarang"].ToString(), 
        Harga = Convert.ToInt32(rdr["Harga"]), 
        CategoriId = Convert.ToInt32(rdr["CategoriId"]), 
        GambarBarang = Convert ??        
       }); 
      } 
      return lst; 
     } 
    } 
} 

如何将varbinary更改为图像以添加我的数据?

+2

的可能的复制[从SQL Server VarBinary(Max)中读取图像](https:// stackoverflow。 com/questions/30778311/read-image-from-sql-server-varbinarymax) – NightOwl888

+0

我不赞成@ NightOwl888 –

+1

GambarBarang的数据类型是什么? –

回答

1

嗨,你可以使用像做

  1. 可以读取数据:

    byte[] myImage = (byte[])reader["MyImageColumn"]; 
    
  2. 在MVC视图然后用这个

    @{ 
    var base64 = Convert.ToBase64String(Model.ByteArray); 
    var imgSrc = String.Format("data:image/gif;base64,{0}", base64); 
    }