读取指定文件夹下的所有图片之相对路径

本文介绍了在ASP.NET中如何获取并遍历服务器上指定文件夹(如LOGO)下的所有图片,特别是处理相对路径和物理路径的问题。通过Server.MapPath结合DirectoryInfo类获取图片的物理路径,并展示如何在网页上显示这些图片。
摘要由CSDN通过智能技术生成

  DirectoryInfo di = new DirectoryInfo(Server.MapPath("LOGO"));//找到图片所在的路径
            FileInfo[] fiArray = di.GetFiles();      //读取该路径下所有文件           
            foreach (FileInfo fi in fiArray)
            {
                string fileType = fi.Name.Substring(fi.Name.LastIndexOf(".") + 1);//取后缀名
                if (fileType == "bmp")//是bmp则添加。
                {
                    ImageButton img = new ImageButton();
                    //Image img = new Image();
                    img.ID = fi.Name.Substring(0, 3);
                    img.ImageUrl = @"/SafeGuard/LOGO/" + fi.Name;//filepath+"/"+fi.Name;
                    img.Click += new ImageClickEventHandler(img_Click);                   
                    e.Item.Controls.Add(img);
                }
            }     

上面的代码是没有问题的。
对于相对路径和物理路径的问题我绕了一大圈。
刚开始的时候我直接用的是   DirectoryInfo di = new DirectoryInfo("LOGO");本地测是可以的,原因是它直接找到的还是应用程序所有的物理路径,所以在发布后放到服务器上得到的是“未能找到路径“C:/WINDOWS/system32/LOGO”的一部分。”找不到相应的物理路径E:/WORK/SAFEGUARD/LOGO/000。BMP但是,为什么会这么提示我倒不明白了。我IIS的默认路径设置的是F:COMMON/SITEWEB而它怎么指向了C盘下?
后来我想通过完全指向

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值