要求:取指定目录下面的所有图片,以表格的型式展示并显示该图片的相对路径。

服务端代码:

  1. public partial class ViewIcon : System.Web.UI.Page
  2. {
  3. JArray ja = new JArray(); //定义一个数组
  4. public string info = string.Empty;
  5. protected void Page_Load(object sender, EventArgs e)
  6. {
  7. var path1 = System.AppDomain.CurrentDomain.BaseDirectory;//获取程序集目录
  8. string path = Path.Combine(path1, "Image", "menu");//Path.Combine 将3个字符串组合成路径
  9. var images = Directory.GetFiles(path, ".", SearchOption.AllDirectories).Where(s => s.EndsWith(".png") || s.EndsWith(".jpg") || s.EndsWith(".gif"));
  10. //images = Directory.GetFiles(path, "*.png|*.jpg", SearchOption.AllDirectories);
  11. //Directory.GetFiles 返回指定目录的文件路径 SearchOption.AllDirectories 指定搜索当前目录及子目录
  12.  
  13. //遍历string 型 images数组
  14. foreach (var i in images){
  15. var str = i.Replace(path1, "");//获取相对路径
  16. var path2 = str.Replace("\\", "/");将字符“\\”转换为“/”
  17. ja.Add(path2);
  18. }
  19.  
  20. info = Newtonsoft.Json.JsonConvert.SerializeObject(ja);//序列化为String
  21. }
  22. }

前端代码:

  1. <script type="text/javascript">
  2. $(function(){
  3. var images = <%=info%>;
  4. var list = [];
  5. list.push("<table>");
  6. list.push("<thead>");
  7. list.push("<tr>");
  8. list.push("<td>图标</td>");
  9. list.push("<td>路径</td>");
  10. list.push("<td>图标</td>");
  11. list.push("<td>路径</td>");
  12. list.push("</tr>");
  13. list.push("</thead>");
  14. list.push("<tbody>");
  15. $.each(images, function (a,b) {
  16. if((a+1)%2==0){
  17. list.push("<td>"+"<img width='50' height='50' src = '../../" + b + "'></td>");
  18. list.push("<td>"+b+"</td>");
  19. list.push("</tr>");
  20. }
  21. if((a+1)%2!=0){
  22. list.push("<tr>");
  23. list.push("<td>"+"<img width='50' height='50' src = '../../" + b + "'></td>");
  24. list.push("<td>"+b+"</td>");
  25. }
  26. })
  27. list.push("</tbody>");
  28. list.push("</table>");
  29. list.push("<br>");
  30. var images = list.join("");
  31. $("#imgs").append(images);
  32. })
  33.  
  34. </script>

效果图如下:

C# 遍历文件夹及子目录下所有图片.的更多相关文章

  1. C++下遍历文件夹

    编写程序遍历文件夹及其子文件夹下所有文件,并输出到标准输出流或者文件流. 1. 先考虑在单层目录下,遍历所有文件.以C:\WINDOWS为例: 用到数据结构_finddata_t,文件信息结构体的指针 ...

  2. Windows下C++遍历文件夹中的文件

    Windows下,在VS中开发,C++遍历文件夹下文件. 在Windows下,遍历文件所用到的函数和结构体,需要在程序中包含头文件#include <io.h>,在VS中,头文件io.h实 ...

  3. C#遍历文件夹下所有文件

    FolderForm.cs的代码如下: using System; using System.Collections.Generic; using System.Diagnostics; using ...

  4. C# 遍历文件夹下所有子文件夹中的文件,得到文件名

    假设a文件夹在F盘下,代码如下.将文件名输出到一个ListBox中using System.Data;using System.Drawing;using System.Linq;using Syst ...

  5. python遍历文件夹下的文件

    在读文件的时候往往需要遍历文件夹,python的os.path包含了很多文件.文件夹操作的方法.下面列出: os.path.abspath(path) #返回绝对路径 os.path.basename ...

  6. JAVA 遍历文件夹下的所有文件

    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...

  7. PHP遍历文件夹下的文件和获取到input name的值

    <?php$dir = dirname(__FILE__); //要遍历的目录名字 ->当前文件所在的文件夹//$dir='D:\PHP\wamp\www\admin\hosts\admi ...

  8. JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)

    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...

  9. java中File类应用:遍历文件夹下所有文件

    练习: 要求指定文件夹下的所有文件,包括子文件夹下的文件 代码: package 遍历文件夹所有文件; import java.io.File; public class Test { public ...

随机推荐

  1. configparser (配置文件) 模块

    主要内容来自景女神博客 内涵:该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 常见文档格式: [DEFAULT] ...

  2. lua中.和:的区别

    local myTable = {} function myTable:putMyname(val) print(val) print(self and self.name) end myTable. ...

  3. 2-SAT 小结

    PS:今天(2014.10.27)准备PPT,明天在组合数学课上与大家一起分享一下2-SAT.我以为是一件简单的事情.但是,当我看了自己这篇博客以后,发现居然还是不懂.很多资料不全,也没仔细讲.整理了 ...

  4. 使用Axis2方式发布webService实例说明

    1.简单的pojo方式: 不需要写配置文件,直接把class文件拷贝到axis2的WEB-INF目录下的poji文件夹下即可.但其局限性表现在,实现类不能有包声明,这在实际开发过程中使用较少,这里不做 ...

  5. PHP在Linux的Apache环境下乱码解决方法

    在windows平台编写的php程序默认编码是gb2312 而linux和apche默认的编码都是UTF-8 所以windows平台编写的php程序传到linux后,浏览网页中文都是乱码. 如果手工将 ...

  6. Eigen库对齐问题:declspec(align('16')) 的形参将不被对齐

    一:错误提示:error C2719: '_Val': formal parameter with __declspec(align('16')) won't be aligned 英文提示:erro ...

  7. 杭电2053 WA

    #include<stdio.h> int main() { ]; while(scanf("%d",&n)!=EOF) { ;i<=;i++) { a[ ...

  8. JS面向对象(2)——原型链

    原型链用于ECMAScript的继承.其思想是利用原型让一个引用类型继承另一个引用类型的属性和方法.说人话,我们知道,一个构造函数Subtype,其原型对象有一个指向构造函数的指针,这是联系构造函数和 ...

  9. 遍历及过滤 first(), last() 和 eq() filter() 和 not()

    三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素.其他过滤方法,比如 filter() 和 not() 允许您选取匹配或不匹 ...

  10. Java中数组遍历

    就是将数组中的每个元素分别获取出来,就是遍历.遍历也是数组操作中的基石. 数组的索引是 0 到 lenght-1 ,可以作为循环的条件出现 public class ArrayDemo4 { publ ...