在做网站的时候,我想有一块地方让它显示图片,用哪个控件,在数据库里用什么类型,怎么能够添加图片,哪位大哥帮帮忙。

解决方案 »

  1.   

    初学吧,做个图片上传就可以了,要保存到数据库中可以参考下面的代码
    private void AddImage()
    {

    string [] up =this.UP_FILE.PostedFile.FileName.Split(new char []{'\\'});
    HttpPostedFile UpFile = UP_FILE.PostedFile;  //HttpPostedFile对象,用于读取图象文件属性
    FileLength = UpFile.ContentLength;//记录文件长度 

    //
        FileName=up[up.Length-1];
    String Exten =System.IO.Path.GetExtension(FileName);
              
    //动态生成文件名称
    string Mapname=null;
    string [] Date=DateTime.Now.ToString().Split(' ');
    string [] name1= Date[0].Split('-');
    string [] name2=Date[1].Split(':');
    for(int i=0;i<3;i++)
    {
    Mapname+=name1[i]+name2[i];
    }
    Mapname=Mapname+up[up.Length-1];
    try
    {
    if (FileLength == 0) 
    {  
    //文件长度为零时
    JScript.Alert("请你选择你要上传的文件!");
    }
    else if(Exten.ToLower() != ".gif" && Exten.ToLower() != ".jpg" && Exten.ToLower() != ".bmp")
    {
    JScript.Alert("上传图片的格式错误!只支持后缀为.gif.jpg.bmp的图片格式!");
    }
    else
    {
    Byte[] FileByteArray = new Byte[FileLength];   //图象文件临时储存Byte数组
    Stream StreamObject = UpFile.InputStream;      //建立数据流对像
    //读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
    StreamObject.Read(FileByteArray,0,FileLength);
    TypeId=Convert.ToInt32(this.DDL_ImageType.SelectedItem.Value.ToString());
    //判断文件长
    int FilseLong=0;
    if (Mapname.Length>10)
    {
    FilseLong=Mapname.Length - 10;
    }
    string tempVPath = "~/Admin/" + Mapname;
    string tempPath = Server.MapPath(tempVPath);
    UP_FILE.PostedFile.SaveAs(tempPath);
    System.Drawing.Image imageWH =  System.Drawing.Image.FromFile(tempPath);
    int Width=Convert.ToInt32(imageWH.Width.ToString().Trim());
    int Height=Convert.ToInt32(imageWH.Height.ToString().Trim());

    imageWH.Dispose();

    FileInfo fInfo = new FileInfo(tempPath);
    fInfo.Delete();
    //
    WebSite.Components.Image  image= new WebSite.Components.Image();
    tempID=image.ImageAdd(TypeId,Mapname.Remove(0,FilseLong),Width,Height,UpFile.ContentLength,UpFile.ContentType,FileByteArray);
    if(tempID>0)
    {
       lnkPic.ImageUrl="ImageShow.aspx?tempID="+tempID.ToString();
    }
    txtNewValue.Text=Mapname.Remove(0,FilseLong);    
    }
    }
    catch(SqlException ex)
    {
    Response.Write(ex.Message);
    }
    }
      

  2.   

    对于图象,一般是在数据库存入的是他的地址,绑定显示时,直接绑定地址就行了。这样的话你可以用datagrid。
      

  3.   

    不要二楼那样长。
    .net 自带的上传控件,然后用substring判断一下是否为图片格式,
    把路径存入数据库
    之后用label显示就可以了。