1.数据库存储图片,我用的是MS2005,有人说数据库存储图片是使用路径存储不好,应该使用图片文件名,这样的话是不是把文件名直接写入数据库,而不用管路径的问题呢?2.怎样在Girdview中显示数据库中存储的图片,我用的是ASP.net。

解决方案 »

  1.   

    我写了这样的一些代码,你看一下,应该知道一些了dropFace.Items.Clear();
                DirectoryInfo di = new DirectoryInfo(Server.MapPath("images/"));
                if (radiSex.SelectedValue.Equals("M"))
                {
                    FileInfo[] fi = di.GetFiles("n*.jpg");
                    foreach (FileInfo f in fi)
                    {
                        dropFace.Items.Add(new ListItem(f.Name, "images/" + f.Name));
                    }
                    dropFace.Attributes.Add("onchange", "document.getElementById('imgFace').src=document.getElementById('" + dropFace.ClientID + "').value");
                }
                else
                {
                    FileInfo[] fs = di.GetFiles("m*.jpg");
                    foreach (FileInfo f in fs)
                    {
                        dropFace.Items.Add(new ListItem(f.Name, "images/" + f.Name));
                    }
                    dropFace.Attributes.Add("onchange", "document.getElementById('imgFace').src=document.getElementById('" + dropFace.ClientID + "').value");
                }
      

  2.   

    不用管路径的问题,是因为上传的文件在固定的目录内。
    在Girdview中显示数据库中存储的图片:
    在RowDataBound事件中
    Image img=(Image)e.Row.Cells[5].FindControl("Image1");
    img.ImageUrl = "路径和文件名";
      

  3.   

    保存文件名
    在显示时通过image绑定路径和文件名显示图片,用~或ResolveUrl
      

  4.   

    一、保存图片有两种方式:
    1.图片已二进制数据保存到数据表的image字段中,
    2.把jpg或gif的图片直接保存到站点的目录中,
    将图片文件名和路径保存到数据表的varchar字段中
    着两种方式各有优缺点,不能说哪一种好,哪一种一定不好!!二、怎样在Girdview中显示数据库中存储的图片,网上google一下,多如牛毛!!
      

  5.   

    但是把地址也存在数据库里面是不利的,这样既不符合数据库的设计范式,也不利于以后的维护,如果我的 Images 文件夹移动的话,是不是我数据库里面的数据又要重新输入一遍? 这样的话数据库应该怎么写?
      

  6.   

    是的!!Images 文件夹移动的话,数据库里面的数据要替换以下!!