2013-05-28 4 views
0

Je reçois un chemin d'image avec Uri, qui est utilisé comme chemin source dans un rapport. Cette image est également chargée dans une imagebox. Le problème est que Uri ajoute "file: ///" au chemin. Par conséquent, l'image ne peut pas être affichée sur le rapport. Comment puis-je obtenir le chemin de l'image sans cette partie?Comment obtenir filepath avec Uri sans "file: ///"

Répondre

2

Utilisation Uri.LocalPath:

Obtient une représentation locale du système d'exploitation d'un nom de fichier.

testé cela dans juste fsi:

> soit u = new Uri ("file: /// C: /Users/Public/Test.png") ;;

val u: Uri = file: /// C: /Users/Public/Test.png

> u.LocalPath ;;

val il: String = "C: \ Users \ Public \ test.png"

semble bon.

+1

+1. Notez que c'est une bonne idée de vérifier si le 'Uri' est bien le chemin du fichier en vérifiant le schéma ou les propriétés' IsUnc'/'IsFile'. –

0

Si vous voulez juste supprimer "file: ///" de Uri essayer:

string uriPath =... //your path with "file:///" 

string path = uriPath.Replace("file:///", "");