C# 遍歷文件夾及子目錄下所有圖片

来源:http://www.cnblogs.com/zhibu/archive/2017/01/24/6346502.html
-Advertisement-
Play Games

要求:取指定目錄下麵的所有圖片,以表格的型式展示並顯示該圖片的相對路徑。 服務端代碼: 前端代碼: 效果圖如下: ...


要求:取指定目錄下麵的所有圖片,以表格的型式展示並顯示該圖片的相對路徑。

服務端代碼:

 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>

 

效果圖如下:
20170104.jpg


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Redis簡介 Redis是用C語言開發的一個開源的高性能鍵值對(key-value)資料庫。它通過提供多種鍵值數據類型來適應不同場景下的存儲需求,目前為止Redis支持的鍵值數據類型如 下: 字元串類型(String) 哈希類型(hash) 列表類型(list) 集合類型(set) 有序集合類型( ...
  • 前言 本篇文章寫在新春佳節前夕,也是給IT運維朋友一個警醒,在春節長假前請妥善體檢自己的系統安心過個年。 千里之堤毀於蟻穴,一條看似簡單的語句就能拖垮整個系統,您的SQL Server很久沒體檢了吧? 就像一塊藏著刀片的蛋糕!怎能安度春節? 日誌暴增的問題處理過很多,這隻是很常規的一次,但是對於不是 ...
  • Case具有兩種格式。簡單Case函數和Case搜索函數。 這兩種方式,可以實現相同的功能。簡單Case函數的寫法相對比較簡潔,但是和Case搜索函數相比,功能方面會有些限制,比如寫判斷式。 還有一個需要註意的問題,Case函數只返回第一個符合條件的值,剩下的Case部分將會被自動忽略。 下麵我們來 ...
  • 一、概述 網上找了好多,發現好多不是linux系統的就是與現在新版本有出入,自己做小項目親手實踐了一下,供大家借鑒。 MySQL版本:mysql-5.7.17 下載方法: 1、MySQL官方網址https://www.mysql.com/downloads/ 2、下載方法: a、選擇對應模塊: b、 ...
  • 今天用VMware虛擬機安裝了Ubuntu 16.04,過程用點繁瑣,順便又安裝了VMware tools,這樣就可以全屏顯示Ubuntu系統了,下麵是具體的安裝過程! 第一步:準備工作 1.下載Ubuntu,網址是http://cn.ubuntu.com/download/ 我選擇下麵這個版本的6 ...
  • 警告1909。無法創建快捷方式VMware Workstation Pro.Ink。的解決方法! ...
  • Windows伺服器故障轉移集群(Windows Server Failover Cluster,簡稱WSFC)使用仲裁投票(Quorum Voting)決定集群的健康狀況,或使故障自動轉移,或使集群離線。當集群中的結點發生故障時,會由其他結點接手繼續提供服務,不過,當結點之間通信出現問題,或大多數 ...
  • 1.chgrp,chown,chmod(-R遞歸修改文件夾下的文件) chgrp:修改文件屬於哪個組 chown:修改文件屬於哪個用戶 chmod:修改文件許可權r=4,w=2,x=1 chmod 4+2+1 file 如果不知道文件許可權可直接加許可權 比如 chmod a±rwx(a代表所有用戶,g代 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...