2017-11-16 8 views
0

Ich muss den absoluten Pfad einer Datei innerhalb einer Dokumentbibliothek abrufen. Bei einigen Recherchen habe ich herausgefunden, dass ich das nicht direkt per Code tun kann, ohne Sharepoint mit CSOM abzufragen.Erhalte den absoluten Pfad der Datei SharepointOnline

Welcher ist der empfohlene/richtige Weg?

1)

context.Load(file, f => f.ListItemAllFields["FileRef"]); 

2)

Verwendung File.LinkingUrl?

UPDATE

So ähnlich?

  List docLib = context.Web.Lists.GetByTitle(doclibrary); 

      CamlQuery query = new CamlQuery(); 
      query.ViewXml = @"<View> 
           <Query> 
            <Where> 
             <Eq> 
              <FieldRef Name='Name'/> 
              <Value Type='Text'>" +versionId+ @"</Value> 
             </Eq> 
            </Where> 
            <RowLimit>1</RowLimit> 
           </Query> 
          </View>"; 

      ListItemCollection collListItems = docLib.GetItems(query); 

      context.Load(docLib); 
      context.Load(collListItems, items => items.Include(
       item => item["FileRef"], 
       item => item["FileLeafRef"], 
       item => item["EncodedAbsUrl"] 
      )); 

      context.ExecuteQuery(); 

      ListItem listItem = collListItems[0]; 

      fileAbsPath = (string)listItem["EncodedAbsUrl"]; 

Antwort

0

Probieren Sie es aus.

var linkUrl=(stirng)file.item["EncodedAbsUrl"]; 
+0

Wie in meiner aktualisierten Frage? – user3075478

+0

Sie haben Recht. Es klappt. – Victor

Verwandte Themen