我保存了一个链接一个看起来像这样的数据库
~\quizes\314757_499034200123763_1508831626_a.jpg
我使用以下代码提取文件名
Uri uri = new Uri(BulletedList1.DataValueField.ToString());
string filename=Path.GetFileName(uri.LocalPath);
但它给出了以下错误 无法确定 URI 的格式。
我保存了一个链接一个看起来像这样的数据库
~\quizes\314757_499034200123763_1508831626_a.jpg
我使用以下代码提取文件名
Uri uri = new Uri(BulletedList1.DataValueField.ToString());
string filename=Path.GetFileName(uri.LocalPath);
但它给出了以下错误 无法确定 URI 的格式。
我使用以下方法完成了我的工作。
ListItem li = BulletedList1.Items[e.Index];
string filename = Path.GetFileName(li.Value.ToString());
您可以只使用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
}
这有什么问题?
var fromDatabase = @"~\quizes\314757_499034200123763_1508831626_a.jpg";
string filename = Path.GetFileName(fromDatabase);
还是因为其他原因需要扩展“~”?在这种情况下, http: //msdn.microsoft.com/en-us/library/system.web.virtualpathutility.aspx可能会对您有所帮助。