在上個項目開發中遇到這樣的需求,取指定目錄下面的所有圖片,以表格的型式展示並顯示該圖片的相對路徑。下面小編給大家分享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='50' height='50' src = '../../" + b + "'></td>"); list.push("<td>"+b+"</td>"); list.push("</tr>"); } if((a+1)%2!=0){ list.push("<tr>"); list.push("<td>"+"<img width='50' height='50' src = '../../" + b + "'></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); } } }}