2011-11-11 13 views
1

私は、完全な画像のURLを返すSPListItemを持っている:相対URL形式でSharepointのイメージを取得する方法

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

私はこれを呼び出すことで、このURLを返す:

splistitem.File.ServerRelativeUrl

このURLをこのURLにすることができます:

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

しかし、完全なURLをエンコードすると、それは/の代わりになります。終了イメージファイルとUrlEncodeを取得できるようにしたいのですが、これをプログラム的に解決するにはどうしたらいいですか?

答えて

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); 
0

あなたは単にsplistitem.File[SPBuiltInFieldId.EncodedAbsUrl]を呼び出すことによって、これを達成することができます - それはフォワードスラッシュを置き換えることはありません。そしてファイル名だけが必要な場合はSystem.IO.Path.GetFileNameに渡すことができます。

ところで、ServerRelativeUrlは/ images/bobのpicture.jpgを返すべきではありませんか?