2008-09-22 61 views
0

讓我解釋一下: 這是路徑到此文件夾:>www.my_site.com/images如何列出Web服務器上某些文件夾中的某些特定圖像?

和圖像是由user_id創建,例如,user_id = 27圖像, 27_1.jpg27_2.jpg27_3.jpg! 如何列出並打印以27_%.jpg開頭的圖像? 我希望你能理解我! PS。我在ASP.NET(VB)是完全beginmer並請給我詳細的信息

這裏開始我的循環

while dbread.Read() 

'and then id user_id 
dbread('user_id') 

NEXT ???


我NEDD創建XML,到現在爲止我創造這樣的:

act.WriteLine( 「」) act.WriteLine( 「http://www.my_site.com/images/ 」& dbread(「 USER_ID」)&「_1。 jpg「) act.WriteLine(」「)

但是這不是答案,因爲我需要創建此節點有多少這個用戶的圖像存在?

在數據庫中不存在這個圖像的列表,這就是爲什麼我必須在文件夾中計數它們的原因。 (這不是我的網站exacly,但我需要在此網站上創建XMl)

你明白我嗎?

回答

1

最好的方法是循環瀏覽目錄中的所有文件。

While dbRead.Read 
    dim sUserId as String= dbread('user_id') 
    For Each sFile As String In IO.Directory.GetFiles("C:\") 
    if sFile.StartsWith (sUserId) Then 
     'Do something. 
    End If 
    Next 
Loop 

然而,實際顯示圖像時,你最好的選擇可能是創建這些圖像的數據表,然後使用DataList或Repeater控件來顯示它們。

​​

然後,你的ASPX頁面上,你將有一個名爲dlImages DataList控件等被定義:

<asp:datalist id="dlImages" RepeatDirection="Horizontal" runat="server" RepeatLayout="Flow" Height="100%"> 
     <ItemTemplate> 
      <asp:Image ID="Image1" Runat=server ImageUrl='<%# Server.MapPath("photos") & Container.DataItem("FileName") %>'> 
      </asp:Image> 
     </ItemTemplate> 
    </asp:datalist> 
+0

此解決方案不處理列出的業務案例,並獲取所有文件。 – 2008-09-22 15:03:35

1

適當的方法是做到以下幾點

  1. 獲取上市文件使用System.IO.Directory.GetFiles(「YourPath」,UserId +「_ *。jpg」)
  2. 循環遍歷此列表並構建您的XML或然後呈現它ou t給用戶。

基本上,GetFiles方法接受一個路徑和一個「過濾器」參數,它允許你做一個通配符搜索!

編輯: 的GetFiles的操作返回代表完整的文件名字符串的列表,你可以操縱然後使用System.IO.Path.GetFileName()方法來獲取實際的文件名的值。

如果您想實際構建文檔,您可以使用XmlDocument類,或者可以使用簡單的循環和字符串構建器來完成。像下面這樣。

StringBuilder oBuilder = new StringBuilder(); 
oBuilder.Append("<root>"); 
string[] ofiles = Directory.GetFiles("YourPath", "yourMask"); 
foreach(string currentString in oFiles) 
{ 
    oBuilder.AppendLine("<file>http://yourpath/" + Path.GetFileName(currentString) + "</file>"); 
} 
oBuilder.Append("</root"); 
相關問題