从保存的链接中提取文件名

时间:2012-08-08 07:09:03

标签: c#

我保存了一个链接数据库,看起来像这样

~\quizes\314757_499034200123763_1508831626_a.jpg

我使用以下代码提取文件名

Uri uri = new Uri(BulletedList1.DataValueField.ToString());
        string filename=Path.GetFileName(uri.LocalPath);

但它会出现以下错误 无法确定URI的格式。

3 个答案:

答案 0 :(得分:0)

您可以使用Path.GetFileName,例如:

var dbValue = @"~\quizes\314757_499034200123763_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
 }

答案 1 :(得分:0)

这有什么问题?

var fromDatabase = @"~\quizes\314757_499034200123763_1508831626_a.jpg";
string filename = Path.GetFileName(fromDatabase);

还是出于其他原因需要扩展“〜”?在这种情况下,http://msdn.microsoft.com/en-us/library/system.web.virtualpathutility.aspx可能会对您有所帮助。

答案 2 :(得分:0)

我使用以下内容完成了我的工作。

ListItem li = BulletedList1.Items[e.Index];

        string filename = Path.GetFileName(li.Value.ToString());