http://dotnet.aspx.cc/ShowDetail.aspx?id=ECD9AE16-8FF0-4A1C-9B9F-5E8B641CB1B1这篇文章的代码我已经用了,通过传值来显示一副副图片。我想做的改进是,直接在一个页面里显示出所有的图片,就是把ReadImage.aspx这个页面里的代码融合到图片显示一个页面里面。
关键就是如何读出所有的图片,而不是一个一个的通过传值。请大家指点。第二点就是,如果分页显示,我是把图片直接存入数据库,而不是存入的链接地址。就是像搜狐的校友录一样,缩小显示图片,通过图片一个超链接来响应大图。谢谢,谢谢大家。我需要一个思路。

解决方案 »

  1.   

    孟子的只是其中的一个方法,不必理会陷入其中设计怪圈,可以开拓自己的思维,
    调用Graphics对象来创建Image,并保存到硬盘上,这样你可以生成微缩图和原图,
    图形控件就采用这种方式。
    例子在我的blog中有关于图形控件的介绍,并有相关代码
      

  2.   

    道理是一样的.你想一口气显示很多图片,那么你就在一个页面如下:
    <img src="showimg.aspx?id=1">
    <img src="showimg.aspx?id=1">
    <img src="showimg.aspx?id=1">
    <img src="showimg.aspx?id=1">
    <img src="showimg.aspx?id=1">
    如此放上多个,再用表格排列起来,它自然就在一个页面中显示多图了.
    即使你自行在硬盘上生成缩略图,想要在一个页面中显示,那还是必须如下:
    <img src="xxx.gif">如此多个.第二个问题,下面给你一个显示的例子
    下面是显示图片的页面showimg.aspx后台代码,该页面不需要放任何东西.
    --------------------------------------------------------------------
    //创建数据库连接
    OracleConnection myConnection = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]);
    myConnection.Open();//打开数据库
    OracleCommand myCommand = myConnection.CreateCommand();
    string sql = "select tmp_blob from tmp where tmp_id = 103";
    myCommand.CommandText = sql;
    OracleDataReader myRead = myCommand.ExecuteReader();//开始读取
    myRead.Read();
    //这个方法更直接
    Byte[] Buffer = (Byte[])myRead[0];
    //OracleLob myLob = myRead.GetOracleLob(0);
    //长度是long,转为int32
    //int myLength = Convert.ToInt32(myLob.Length);  
    //Byte[] Buffer = new byte[myLength];      
    //myLob.Read(Buffer,0,myLength);//输出
    this.Response.Clear();
    //输出mime类型,根据上传的文件取到的mimetype,是什么我忘记了,自己写上,不过不写也没有关系.
    this.Response.ContentType = "";
    this.Response.BinaryWrite(Buffer);
    this.Response.End();
      

  3.   

    http://bolg.csdn.net/seeko0阿枫 你给的这个链接无效 hchxxzx(NET?摸到一点门槛) 你给的这个思路让我明白了一些,不过因为我的图片是直接存放在数据库里,按照孟子那篇文章里的。用DATAGRID读取图片时的那段语句,我不知如何修改。这个我还在琢磨。就是这句
    <asp:Image Runat=server ID="Image1"  Width="150" Height="125"ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "PersonID")) %>' />还有如果按照你的那个思路,我觉得要做到分页恐怕比想象的要难,
    <img src="showimg.aspx?id=1">
    <img src="showimg.aspx?id=1">
    <img src="showimg.aspx?id=1">
    <img src="showimg.aspx?id=1">
    <img src="showimg.aspx?id=1">
    这样来排列,其实已经是限定了在一页中现实图片的数目。那么在分页的时候又如何做呢。谢谢两位。