2012-02-04 44 views
12

Tôi đang cố gắng tìm cách in các hình ảnh tôi đang lưu trữ trong một thư mục trong ASP/C#Lặp qua một thư mục

Tôi thấy điều này, nhưng vấn đề là nó in ra C: \ \ Visual Studios 2010 \ Projects \ MyTestUploader \ Files \ img001.jpg

string[] fileEntries = Directory.GetFiles(sourceDir); 
foreach (string fileName in fileEntries) 
{ 
Label1.Text += "<img src=\"" + fileName + "" /><br />"; 
} 

Hiện tại tôi chỉ muốn in tất cả các hình ảnh trong thư mục. Tôi sẽ lo lắng về việc định dạng chúng độc đáo, sau này :)

+0

Và câu hỏi của bạn là gì? –

+0

Bạn có đang in chúng ra trên máy in hoặc hiển thị chúng trên màn hình máy tính không? – DOK

Trả lời

15

Bạn có thể sử dụng Path.GetFileName để lấy tên tệp và phần mở rộng của đường dẫn đã chỉ định, trong khi loại trừ đường dẫn thư mục (có lẽ là những gì bạn muốn).

string[] fileEntries = Directory.GetFiles(sourceDir); 
foreach (string fileName in fileEntries) 
{ 
    Label1.Text += "<img src=\"" + Path.GetFileName(fileName) + "\" /><br />"; 
} 

Ví dụ, gọi

Path.GetFileName(@"C:\Visual Studios 2010\Projects\MyTestUploader\Files\img001.jpg") 

sẽ trở "img001.jpg".

Lưu ý rằng bạn cũng thiếu một số \ để thoát khỏi " ở cuối giá trị thuộc tính của bạn.

+0

Ah, yea- Tôi đã gõ nó nhanh chóng từ bộ nhớ vì tôi không thực sự có quyền truy cập vào dự án khi tôi đăng nó – sab669

0

Hãy thử sử dụng Directory.GetFiles(sourceDir, "*.jpg");

+0

Điều này sẽ vẫn bao gồm đường dẫn, nhưng hạn chế mảng filepath chuỗi trả về chỉ các tệp * .jpg trong sourceDir. Câu hỏi đặt ra là làm cách nào để tách đường dẫn khỏi mảng chuỗi được trả về của đường dẫn tệp. – codechurn

+0

Tôi hiểu sai vấn đề :) –

+0

Mặc dù vậy, đó là điểm hợp lệ. Nếu ý định chỉ liệt kê các tệp hình ảnh, thì việc sửa đổi này cũng nên được thực hiện. – Douglas

Các vấn đề liên quan