0

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

~\quizes\314757_499034200123763_1508831626_a.jpg

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

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

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

4

3 回答 3

0

我使用以下方法完成了我的工作。

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

        string filename = Path.GetFileName(li.Value.ToString());
于 2012-08-08T08:08:39.323 回答
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
 }
于 2012-08-08T07:13:09.800 回答
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可能会对您有所帮助。

于 2012-08-08T07:15:05.367 回答