正常的官方demo是从一个文件夹中加载图片此处代码是获取文件夹中的图片
//定义图片store
var store = new Ext.data.JsonStore({
url: 'DataViewImages.aspx',
root: 'images',
fields: ['name', 'url', {name:'size', type: 'float'}]
});
store.load();//DataViewImages.aspx中返回的json
string strImage = "{'images':[";
string[] strExten = { "*.jpg", "*.bmp", "*.gif", "*.png"};
string strUserName;protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
        {
            string path = Server.MapPath("Upload/");
            Session["UserName"] = "zack";
            strUserName = Session["UserName"].ToString();            if(!path.EndsWith(@"\"))
                path += @"\";            DirectoryInfo di = new DirectoryInfo(path);            foreach (string strExtension in strExten)
            {
                FileInfo[] fi = di.GetFiles(strExtension);                foreach (FileInfo f in fi)
                {
                    if (f.Name.StartsWith(strUserName + "_"))
                    {
                        strImage += "{'name':'" + f.Name + "','url':'Upload/" + f.Name + "','size':'" + f.Length + "'},";
                    }
                }
            }        strImage = strImage.Substring(0, (strImage.Length - 1));
        strImage += "]}";
            
        Response.Write(strImage);
        Response.End();
    }
}
我这边的实际情况是:图片是以二进制的形式存储在数据库表中,那么该如何加载图片呢???

解决方案 »

  1.   

    我的意思就是dataview加载数据库中二进制的图片信息,该如何来加载显示?谢谢各位达人了
      

  2.   

    你先进行二进制转换
    MemoryStream ms = new MemoryStream((Byte[])dr["img"]);//从数据库中取出二进制数
    Bitmap image = new Bitmap(ms);
    string filepath = Server.MapPath("../img/");//文件路径
    DirectoryInfo dir = new DirectoryInfo(filepath);
    FileInfo[] filecount = dir.GetFiles();
    string imagename = filepath + ((i) + ".jpg");
    image.Save(imagename);
    //这样就可以通过路径和文件名取出来图片了