我保存了一个链接数据库,看起来像这样
~\quizes\314757_499034200123763_1508831626_a.jpg
我使用以下代码提取文件名
Uri uri = new Uri(BulletedList1.DataValueField.ToString());
string filename=Path.GetFileName(uri.LocalPath);
但它会出现以下错误 无法确定URI的格式。
答案 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());