如何以相对url格式获取Sharepoint图像

时间:2011-11-11 05:06:43

标签: c# asp.net sharepoint

我有一个SPListItem,我返回一个完整的图片网址:

http://sharepointsite.com/images/bob's picture.jpg

我通过调用它来返回此URL:

splistitem.File.ServerRelativeUrl

我希望能够将此网址转换为:

http://sharepointsite.com/images/bob%27s%20picture.jpg

但如果我对完整的URL进行编码,它将替换我不想要的/。我希望能够获得结束图像文件和UrlEncode,我将如何以预测方式解决这个问题?

2 个答案:

答案 0 :(得分:4)

试试这个:

 var url = "http://sharepointsite.com/images/bob's picture.jpg";
 var basePath = System.IO.Path.GetDirectoryName(url);
 var fileName = System.IO.Path.GetFileName(url);
 var finalPath = basePath + "\\" + Uri.EscapeDataString(fileName);

答案 1 :(得分:0)

你可以通过简单地调用splistitem.File[SPBuiltInFieldId.EncodedAbsUrl]来实现这一点 - 它不会取代正斜杠。如果您只想要文件名,则可以将其传递给System.IO.Path.GetFileName

顺便说一下,ServerRelativeUrl不应该返回/ images / bob的picture.jpg吗?