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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...