我救了一個鏈接,看起來像這樣解壓文件名保存
~\quizes\314757_49903420_1508831626_a.jpg
一個數據庫中,我用下面的代碼來提取文件名
Uri uri = new Uri(BulletedList1.DataValueField.ToString());
string filename=Path.GetFileName(uri.LocalPath);
,但它提供了以下錯誤 無法確定URI的格式。
我救了一個鏈接,看起來像這樣解壓文件名保存
~\quizes\314757_49903420_1508831626_a.jpg
一個數據庫中,我用下面的代碼來提取文件名
Uri uri = new Uri(BulletedList1.DataValueField.ToString());
string filename=Path.GetFileName(uri.LocalPath);
,但它提供了以下錯誤 無法確定URI的格式。
只需使用Path.GetFileName,是這樣的:
var dbValue = @"~\quizes\314757_49903420_1508831626_a.jpg";
string filename = Path.GetFileName(dbValue);
對於示例它應該工作正常。
編輯
只是一個猜測,但如果你有從讀入一個BulletList控制數據庫中的所有值,你可以看看Items屬性,以便閱讀。可能是這樣的:
foreach (var item in BulletedList1.Items)
{
string filename = Path.GetFileName(item.ToString());
// Do stuff with the file name
}
這不是給我的價值,但它只是獲得列的名稱。 – Kamran 2012-08-08 07:27:42
已更新代碼以顯示其工作原理。你只需要傳遞你從數據庫中讀取的正確值。 – 2012-08-08 07:31:41
這是什麼問題?
var fromDatabase = @"~\quizes\314757_49903420_1508831626_a.jpg";
string filename = Path.GetFileName(fromDatabase);
還是您需要擴大「〜」爲其他原因?在這種情況下,http://msdn.microsoft.com/en-us/library/system.web.virtualpathutility.aspx可能會對您有所幫助。
我通過使用以下內容完成了我的工作。
ListItem li = BulletedList1.Items[e.Index];
string filename = Path.GetFileName(li.Value.ToString());
「〜」字符是否代表您的應用程序根目錄? BulletedList1.DataValueField.ToString()是什麼值? – Dan 2012-08-08 07:13:29
和你的問題是?找到另一種方式? – 2012-08-08 07:14:23