是这样的,想要达到的效果是客户端选择不同的按钮,就会读服务器上的不同的图片。
也就是说客户端的IMAGE与服务器上从数据库里读出来的图片是联动的。
具体代码如下:
 public void ReadImageUp(string str, string ImageID,string up)
    {
        ((Image)this.UltraWebTab1.FindControl(ImageID)).Dispose();
        OracleConnection cn1 = new OracleConnection(ConnectionString);
        cn1.Open();
        string count = up;
        OracleCommand cmd = new OracleCommand("select * from  style_image where cd_styleno='" + str + "' and rownum <= 1", cn1);
        string serverfile = Server.MapPath("") + "\\aaaa\\" + count + ".jpg";
        //Response.Write(serverfile);
        FileStream fs = new FileStream(serverfile, FileMode.OpenOrCreate, FileAccess.Write);
        BinaryWriter bw = new BinaryWriter(fs);        OracleDataReader myReader = cmd.ExecuteReader();
        while (myReader.Read())
        {
            bw.Write((byte[])myReader["lo_image"]);
            break;
        }
        fs.Close();
        bw.Close();
        myReader.Close();
        ((Image)this.UltraWebTab1.FindControl(ImageID)).ImageUrl = ".." + "\\new_inspeed\\aaaa\\" + count + ".jpg";    }可是,要是服务器和客户端都在一个机器上就能正常显示。而服务器和客户端不是在一个机器上就不正常了,怎么点图片都不发生变化。始终都是一个图。只有刷新叶面图才变。
这是怎么回事啊,我找不到因原,还要请各位高手,前辈们指点啊!

解决方案 »

  1.   

    那个 Url应该像这样((Image)this.UltraWebTab1.FindControl(ImageID)).ImageUrl = Server.MapPath(".." + "\\new_inspeed\\aaaa\\" + count + ".jpg");试试看。
      

  2.   

    1.有可能是图片url的问题,但是如果是刷新的话可能是ie缓存的问题。你可以找找关于禁用ie缓存的代码。
    2.这样写到文件里的方式似乎不太合适,你可以用<img src="image.aspx?id=xxx">来显示图片,image.aspx根据参数执行上面的代码,将图片流写到response里
      

  3.   

    代码:
    img是一个Image对象,从数据库读出来的
    Response.ContentType = "image/jpeg";
    img.Save(Response.OutputStream, ImageFormat.Jpeg);
      

  4.   

    Nick_Nick(统统..都给..我..密码) 要是向您说的第2种的话得新建一个页面啊。
    还是觉第一种比较好。
      

  5.   

    在page_load()里加上 Response.Expires = -1;看看.
      

  6.   

    Nick_Nick(统统..都给..我..密码)
    “当两个用户同时请求一个图片时会有并发问题的。”
    对!这个说的有道理。那么,除了再建一个页面就没有其他的办法了吗?
      

  7.   

    antiking(Q狼E行-吹雪留香一点红,孤城寻欢花满楼) Response.Expires = -1;  我试了,不行,看来只能建页了。
    一会给分结贴。