Heim  >  Artikel  >  Backend-Entwicklung  >  C# durchläuft alle Bilder in Unterverzeichnissen eines Ordners und durchläuft Dateien in einem Ordner mit Codefreigabe

C# durchläuft alle Bilder in Unterverzeichnissen eines Ordners und durchläuft Dateien in einem Ordner mit Codefreigabe

黄舟
黄舟Original
2017-03-25 13:11:563081Durchsuche

在上个项目开发中遇到这样的需求,取指定目录下面的所有图片,以表格的型式展示并显示该图片的相对路径。下面小编给大家分享C# 遍历文件夹子目录下所有图片及遍历文件夹下的文件,一起看看吧

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

服务端代码:

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

前端代码:

<script type="text/javascript">
  $(function(){
   var images = <%=info%>;
  var list = [];
  list.push("<table>");
  list.push("<thead>"); 
  list.push("<tr>"); 
  list.push("<td>图标</td>"); 
  list.push("<td>路径</td>"); 
  list.push("<td>图标</td>"); 
  list.push("<td>路径</td>");
  list.push("</tr>"); 
  list.push("</thead>");
  list.push("<tbody>");
  $.each(images, function (a,b) {
   if((a+1)%2==0){
    list.push("<td>"+"<img width=&#39;50&#39; height=&#39;50&#39; src = &#39;../../" + b + "&#39;></td>");
    list.push("<td>"+b+"</td>");
    list.push("</tr>"); 
   }
   if((a+1)%2!=0){
    list.push("<tr>"); 
    list.push("<td>"+"<img width=&#39;50&#39; height=&#39;50&#39; src = &#39;../../" + b + "&#39;></td>");
    list.push("<td>"+b+"</td>");
   } 
  })
  list.push("</tbody>");
  list.push("</table>");
  list.push("<br>");
  var images = list.join("");
  $("#imgs").append(images); 
 })
</script>

效果图如下:

下面给大家介绍下C# 遍历文件夹下所有子文件夹中的文件,得到文件名

假设a文件夹在F盘下,代码如下。将文件名输出到一个ListBox中

using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication1
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }
    private void button2_Click(object sender, EventArgs e)
    {
      DirectoryInfo theFolder = new DirectoryInfo(@"F:\a\");
      DirectoryInfo[] dirInfo = theFolder.GetDirectories();
      //遍历文件夹
      foreach (DirectoryInfo NextFolder in dirInfo)
      { 
        // this.listBox1.Items.Add(NextFolder.Name);
        FileInfo[] fileInfo = NextFolder.GetFiles();    
        foreach (FileInfo NextFile in fileInfo) //遍历文件
        this.listBox2.Items.Add(NextFile.Name); 
      }
    }
  }
}

Das obige ist der detaillierte Inhalt vonC# durchläuft alle Bilder in Unterverzeichnissen eines Ordners und durchläuft Dateien in einem Ordner mit Codefreigabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn