我的程序怎么也调不过,请大家帮忙.
  最好在内存中完成,而不写临时文件
  数据库想用存储过程,请大家闺秀帮忙,最好能给例子,  在这里我先谢了.

解决方案 »

  1.   

    http://www.knowsky.com/5723.html
    http://www.netbei.com/Article/aspx/aspx2/200409/2717.html
      

  2.   

    http://www.pconline.com.cn/pcedu/empolder/net/10309/215678.html
    http://www.blueidea.com/tech/program/2003/895.asp
      

  3.   

    http://www.yesky.com/20030311/1656281.shtml你把生成的缩略图读入内存,然后把它再上传.....
    不是很复杂的..
      

  4.   

    imgdatastream.Read(imgbig,0,postedFile.ContentLength);
    image = System.Drawing.Image.FromStream(postedFile.InputStream);
    newimage = image.GetThumbnailImage(100, 75, null,IntPtr.Zero);
    image.Dispose();
      

  5.   

    这个比较难哦。下面是我刚试成功的代码。
    private string Conn = "Provider=SQLOLEDB;SERVER=(local);uid=sa;pwd=sa;database=dbtest";
    private void button1_Click(object sender, EventArgs e)   //选择图片
    {
      this.openFileDialog1.ShowDialog();
      this.textBox2.Text = this.openFileDialog1.FileName;
    }private void button2_Click(object sender, EventArgs e) //将选择到的图片保存到数据库中,不使用临时文件
    {
      try
      {
        Image image = Image.FromFile(this.textBox2.Text);
        Bitmap smallImage = new Bitmap(image.Width/4, image.Height/4);
        Graphics g = Graphics.FromImage(smallImage);
        g.DrawImage(image, new Rectangle(new Point(0, 0), smallImage.Size), new Rectangle(new Point(0, 0), image.Size), GraphicsUnit.Pixel);
        image.Dispose();    OleDbConnection conn = new OleDbConnection(Conn);
        OleDbCommand cmd = null;
        cmd = conn.CreateCommand();
        conn.Open();
        cmd.CommandText = "insert into 图像库(图像) values(?)";
        MemoryStream ms = new MemoryStream();
        smallImage.Save(ms, ImageFormat.Png);
        ms.Seek(0, SeekOrigin.Begin);
        BinaryReader sr = new BinaryReader(ms);
        byte[] bts = sr.ReadBytes((int) ms.Length);
        cmd.Parameters.Add("@图像", OleDbType.VarBinary).Value = bts;
        cmd.ExecuteNonQuery();
        g.Dispose();
        ms.Close();
        sr.Close();
        smallImage.Dispose();
        conn.Close();
      }
      catch (Exception ex)
      {
        MessageBox.Show(ex.Message);
      }
    }private void button3_Click(object sender, EventArgs e)//将数据库中图片显示到panel上,不使用临时文件
    {
      try
      {
        OleDbConnection conn = new OleDbConnection(Conn);
        OleDbDataAdapter dapter = new OleDbDataAdapter("select 图像 from 图像库", Conn);
        DataSet ds = new DataSet("图像库");
        dapter.Fill(ds);    int height = 0;
        Graphics g = this.panel1.CreateGraphics();    foreach(DataRow dr in ds.Tables[0].Rows)
        {
          byte[] bts = (byte[])dr["图像"];
          MemoryStream ms = new MemoryStream();
          BinaryWriter wr = new BinaryWriter(ms);
          wr.Write(bts,0,bts.Length);
          ms.Flush();
          ms.Seek(0,SeekOrigin.Begin);
          Image image = Image.FromStream(ms);
          
          g .DrawImage(image,new Rectangle(new Point(20,height),image.Size),new Rectangle(new Point(0,0),image.Size),GraphicsUnit.Pixel);
          height+= image.Height;
          ms.Close();
          wr.Close();
          image.Dispose();
        }
        g.Dispose();
      }
      catch (Exception ex)
      {
        MessageBox.Show(ex.Message);
      }}
      

  6.   

    image对象有宽和高属性的,可以根据这个和指定比例缩小或者放大.