首页 新闻 会员 周边

怎么得到服务器某文件夹下所有图片的路径

0
悬赏园豆:10 [已解决问题] 解决于 2013-03-04 10:35

如上图,怎么得到这些图片的uri路径?

(格式类似于[IP]:[Port]/Content/Images/Devices/ups.png)

Invictus的主页 Invictus | 初学一级 | 园豆:76
提问于:2013-03-04 09:06
< >
分享
最佳答案
0
foreach(var file in Directory.GetFiles(your-image-path))
{
    ConvertRelativeUrlToAbsoluteUrl(this.ResolveUrl(file));
}


public string ConvertRelativeUrlToAbsoluteUrl(string relativeUrl) {
    return string.Format("http{0}://{1}{2}",
        (Request.IsSecureConnection) ? 's' : '', 
        Request.Url.Host,
        Page.ResolveUrl(relativeUrl)
    );
}
收获园豆:10
Jerry Chou | 老鸟四级 |园豆:2642 | 2013-03-04 09:23

谢谢,我试试

Invictus | 园豆:76 (初学一级) | 2013-03-04 09:30
这个your-image-path应该是物理路径吧?
Invictus | 园豆:76 (初学一级) | 2013-03-04 09:34

@Invictus: 是的,如果是想给图片引用,直接Server.MapPath

Jerry Chou | 园豆:2642 (老鸟四级) | 2013-03-04 09:35

@Jerry Chou: 我想遍历某文件夹下的图片,然后挨个<img src="...">

Invictus | 园豆:76 (初学一级) | 2013-03-04 09:41

@Jerry Chou: 

这个Page下边没有ResolveUrl方法哦

Invictus | 园豆:76 (初学一级) | 2013-03-04 09:58

@Invictus: 这个是实例方法,所以如果你不是在asp.net页面后台代码中,你是不可以调用的。

Jerry Chou | 园豆:2642 (老鸟四级) | 2013-03-04 10:04

@Jerry Chou: 我用的是mvc,该怎么做呢?

Invictus | 园豆:76 (初学一级) | 2013-03-04 10:12

@Invictus: 

            string imageLocation = "/Front/images/";
            string imageOnServerPath = Server.MapPath(imageLocation);
            var imageFiles = Directory.GetFiles(imageOnServerPath);

            foreach (var file in imageFiles)
            {
                FileInfo fImage = new FileInfo(file);
                string imgUrl = string.Format("{0}{1}", imageLocation, fImage.Name);

                string imageHtml = string.Format("<img src='{0}' />", imgUrl);
            }
Jerry Chou | 园豆:2642 (老鸟四级) | 2013-03-04 10:17

@Jerry Chou: 太感谢你了,要向你学习,尽自己的能力给在博客园帮助别人,提高自己

Invictus | 园豆:76 (初学一级) | 2013-03-04 10:35
其他回答(1)
0

     public string[] AllFiles(string path)
        {
            return Directory.GetFiles(path);
        }

然在判断一下后缀名是不是图片的指定格式

chenping2008 | 园豆:9836 (大侠五级) | 2013-03-04 09:09

你这个得到的格式是类似于C:\WebSite\Content...的物理路径吧?我要的是[IP]:[Port]/Content/Images/Devices/ups.png这种格式的Url路径,可以用到图片链接上的

支持(0) 反对(0) Invictus | 园豆:76 (初学一级) | 2013-03-04 09:16

你看,这个是物理路径哦,物理路径可以放在<img src="">里面吗?还请教Url路径怎么获得?

支持(0) 反对(0) Invictus | 园豆:76 (初学一级) | 2013-03-04 09:25

@Invictus: 原来是你想让这些文件可以引用啊,直接Server.MapPath("图片相对路径")

支持(0) 反对(0) Jerry Chou | 园豆:2642 (老鸟四级) | 2013-03-04 09:33

@Jerry Chou: 

Server.MapPath是从虚拟路径到物理路径,我应该是从物理路径到虚拟路径吧?有没有相应的方法?

支持(0) 反对(0) Invictus | 园豆:76 (初学一级) | 2013-03-04 10:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册