日期:2014-05-17  浏览次数:20783 次

如何能将服务器硬盘上的多个图片一次性显示到浏览器里供查看和保存?
本帖最后由 roony 于 2013-11-29 09:56:14 编辑
iis网站,服务器硬盘里(非iis目录)下有几张图片,如e:\pic\001.jpg e:\pic\002.jpg (最多五个)想要一次性显示出来供查看/阅览,目前我找到的实现的代码如下
        System.Drawing.Image img1 = System.Drawing.Image.FromFile(@"C:\Documents and Settings\Administrator\My Documents\1\图片\1024.jpg");
        System.Drawing.Image img2 = System.Drawing.Image.FromFile(@"C:\Documents and Settings\Administrator\My Documents\1\图片\sb555.jpg");
        Bitmap newImg = new Bitmap(img1.Width + img2.Width, (img1.Height > img2.Height) ? img1.Height : img2.Height);
        Graphics g = Graphics.FromImage(newImg);
        g.Clear(Color.Blue);
        g.DrawImageUnscaled(img1, 0, 0);
        g.DrawImageUnscaled(img2, img1.Width, 0); 
        newImg.Save(@"C:\test.jpg");

        Response.ContentType = "image/jpeg";
        Response.WriteFile(@"C:\test.jpg");

结果如下
这种实现方式有一个问题就是不能单张存储图片,因为这种实现方式是把几张图片合成一张了!请问谁能有什么办法能达到我的全部要求吗?请给点儿思路,谢谢~~~~
c# 图片预览

------解决方案--------------------
服务器做两个页面,一个叫getimage.aspx,类似你的代码,但是只绘制单张图片。具体绘制哪张,由一个querystring(比如filename)决定。
另一个叫listimage.aspx,遍历文件夹,循环得到图片文件名,并且转换为一系列的<img>标签
src指向getimage.aspx?filename=xxx。
用户请求listimage这个页面。